论坛首页 入门讨论版

我的 ExtremeTable 出错了 ^0^

浏览 1632 次
该帖已经被评为新手帖
作者 正文
时间:2007-05-10 关键字: ExtremeTable
我在做数据库查询显示时,对已经查询的数据进行排序,系统抛出 这样的excepion:
17:20:09,281 ERROR [debugjsp]:704 - Servlet.service() for servlet debugjsp threw exception
javax.servlet.jsp.JspException: TableTag Problem: javax.servlet.jsp.JspException: TableTag.doAfterBody() Problem: java.lang.NullPointerException
    at org.extremecomponents.table.core.TableModelUtils.isSorted(TableModelUtils.java:110)
    at org.extremecomponents.table.cell.HeaderCell.getHtmlDisplay(HeaderCell.java:49)
    at org.extremecomponents.table.handler.ColumnHandler.getHeaderColumns(ColumnHandler.java:133)
    at org.extremecomponents.table.view.html.TableBuilder.headerRow(TableBuilder.java:135)
    at org.extremecomponents.table.view.HtmlView.beforeBodyInternal(HtmlView.java:36)
    at org.extremecomponents.table.view.AbstractHtmlView.beforeBody(AbstractHtmlView.java:72)
    at org.extremecomponents.table.handler.ViewHandler.setView(ViewHandler.java:61)
    at org.extremecomponents.table.core.TableModelImpl.execute(TableModelImpl.java:253)
    at org.extremecomponents.table.tag.TableTag.doAfterBody(TableTag.java:459)
    at org.apache.jsp.dynareport.report.output_jsp._jspx_meth_ec_table_0(org.apache.jsp.dynareport.report.output_jsp:166)
    at org.apache.jsp.dynareport.report.output_jsp._jspService(org.apache.jsp.dynareport.report.output_jsp:108)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.LoginFilter.doFilter(LoginFilter.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)

    at org.extremecomponents.table.tag.TableTag.doAfterBody(TableTag.java:468)
    at org.apache.jsp.dynareport.report.output_jsp._jspx_meth_ec_table_0(org.apache.jsp.dynareport.report.output_jsp:166)
    at org.apache.jsp.dynareport.report.output_jsp._jspService(org.apache.jsp.dynareport.report.output_jsp:108)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.LoginFilter.doFilter(LoginFilter.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)

    at org.extremecomponents.table.tag.TableTag.doCatch(TableTag.java:488)
    at org.apache.jsp.dynareport.report.output_jsp._jspx_meth_ec_table_0(org.apache.jsp.dynareport.report.output_jsp:176)
    at org.apache.jsp.dynareport.report.output_jsp._jspService(org.apache.jsp.dynareport.report.output_jsp:108)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
    at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.extremecomponents.table.filter.AbstractExportFilter.doFilter(AbstractExportFilter.java:49)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.LoginFilter.doFilter(LoginFilter.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at com.cavell.frameworkx.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
   
时间:2007-05-10
寻找中。。。。
   
0 请登录后投票
时间:2007-05-10
把你代码贴出来看看
   
0 请登录后投票
时间:2007-05-10
这个是 页面代码:
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="../../common/global.jsp"%>
<%@ taglib uri="/tld/extremecomponents" prefix="ec" %>
<html>
<head>
<title>CCN</title>
<jsp:include page="../../common/header.jsp" flush="true"/>
</head>
<link rel="stylesheet" href="<%=cp%>/dynareport/report/extremecomponents.css"
type="text/css">

<body>
<%
System.out.println("run it");
%>
<jsp:include page="../../common/sub_header.jsp" flush="true"/>
<div class="pageHeader">My Report
<div align="right"> </div>
</div>
<div class="content">
<ec:table
items="columnValue"
title="${reportTitle}"
action="${pageContext.request.contextPath}/dynareport/report/ReportSettingAction.do"
imagePath="${pageContext.request.contextPath}/images/table/*.gif"
width="80%"
filterable="false"
sortable="true"
retrieveRowsCallback="limit"
sortRowsCallback="limit"
filterRowsCallback="limit"
>


<ec:exportXls
view="xls"
fileName="output.xls"
tooltip="Export Excel"
viewResolver="com.cavell.dynareport.reportconf.XlsViewResolver"/>

<ec:row>
<ec:columns autoGenerateColumns="com.cavell.dynareport.reportconf.EditGenerateColumnsImpl">
</ec:columns>
</ec:row>
</ec:table>

</div>
<jsp:include page="../../common/footer.jsp" flush="true"/>
</body>
</html>
   
0 请登录后投票
时间:2007-05-10
这个是类处理代码:
ReportService serv = ReportService.getInstance();
UserInfoService uis = UserInfoService.getInstance();

Collection<DssReportColumn> columns = null;
Collection<DssReportCriteria> criterias = null;
String tableName = "";
String reportName = "";

if (request.getParameter("id") != null
&& !request.getParameter("id").equals("")) {
DssReport report = serv.retrieveById(Integer.parseInt(request.
getParameter("id")));
columns = report.getDssReportColumns();
criterias = report.getDssReportCriterias();
tableName = report.getTableName();
reportName = report.getReportName();

} else {
ReportForm rform = (ReportForm) form;

columns = new ArrayList<DssReportColumn>();
String[] sel = rform.getColumnSel();
for (String s : sel) {
DssReportColumn drc = new DssReportColumn();
drc.setColomn(s);
columns.add(drc);
}

criterias = new ArrayList<DssReportCriteria>();
List<CriteriaForm> l = rform.getColumns();
for (CriteriaForm o : l) {
DssReportCriteria drc = new DssReportCriteria();
drc.setColomn(o.getColumnName());
drc.setOperator(o.getOperator());
drc.setValue(o.getValue());
criterias.add(drc);
}

tableName = rform.getTableName();
reportName = rform.getReportName();

}

String sql = buildsql(columns, criterias, tableName);

if (sql == null || sql.equals("")) {
request.setAttribute("error","The report is not correct. Please redefine it.");
return mapping.findForward("error");
}

Limit limit = ExtremeTablePage.getLimit(request, 15);
boolean needFilter=false;
if("ec".equals(request.getParameter("ec_eti"))){
needFilter=true;
}
Page page = serv.findBySql(sql, ExtremeTablePage.getSort(limit)
, limit.getPage(), limit.getCurrentRowsDisplayed(),needFilter);
List<Map> reptList = (List<Map>) page.getResult();

request.setAttribute("totalRows", new Integer(page.getTotalCount()));

Table table = ReportConfig.getInstance().getTable(tableName);

Map viewMap = new LinkedHashMap();
for (DssReportColumn col : columns) {
viewMap.put(col.getColomn(),
table.findColumn(col.getColomn()).getAlias());
}

DssSysUser user = uis.retrieveById(new Integer((String) request.getSession().getAttribute("userId")));

Map detailMap = new HashMap();
if (page.getTotalCount() <= MAX_OUTPUT_SIZE) {
detailMap.put("results", page.getTotalCount() + " rows are exported");
} else {
detailMap.put("results", MAX_OUTPUT_SIZE +" rows are exported"
+ " there are still more in database.");
}
detailMap.put("sql", sql);
detailMap.put("author", user.getUserName());
detailMap.put("time",
DateFormatUtils.format(new Date(),
DateFormatUtils.
ISO_DATETIME_FORMAT.
getPattern()));



request.setAttribute("detail", detailMap);
request.setAttribute("reportName", reportName);
request.setAttribute("reportTitle",
"ReportName="
+ reportName
+ "<br/>"
+ "SQL=" + sql + "<br/>"
+ "Author="
+ user.getUserName()
+ "<br/>"
+ "CreateTime="
+ DateFormatUtils.format(new Date(),
DateFormatUtils.ISO_DATETIME_FORMAT.getPattern()));
request.setAttribute("columnName", viewMap);
request.setAttribute("columnValue", reptList);

return mapping.findForward("output");
}
   
0 请登录后投票
时间:2007-05-10
“javax.servlet.jsp.JspException: TableTag Problem: javax.servlet.jsp.JspException: TableTag.doAfterBody() Problem: java.lang.NullPointerException”检查一下为什么会有这个异常
   
0 请登录后投票
时间:2007-05-11
hgq0011 14 小时前

“javax.servlet.jsp.JspException: TableTag Problem: javax.servlet.jsp.JspException: TableTag.doAfterBody() Problem: java.lang.NullPointerException”检查一下为什么会有这个异常


我就是找不到为什么会出现这样的Exception!
   
0 请登录后投票
时间:2007-05-11
hongnaiqin 写道
hgq0011 14 小时前

“javax.servlet.jsp.JspException: TableTag Problem: javax.servlet.jsp.JspException: TableTag.doAfterBody() Problem: java.lang.NullPointerException”检查一下为什么会有这个异常


我就是找不到为什么会出现这样的Exception!


那你找到那些是设置值的时候,那些值有没有为空?相关的对象是不是空?
   
0 请登录后投票
论坛首页 入门讨论版

跳转论坛:
JavaEye推荐