这是jsp页面这样写的时候报的错误:
<logic:iterate id="numall" name="numall" scope="request">
<tr>
<td>
${numall.callerno}
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
2007-12-30 14:33:24 ApplicationDispatcher[/fxsql] Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.el.ELException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
at org.apache.commons.el.Logger.logError(Logger.java:481)
at org.apache.commons.el.Logger.logError(Logger.java:498)
at org.apache.commons.el.Logger.logError(Logger.java:566)
at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:227)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:899)
at org.apache.jsp.telnumdo_jsp._jspx_meth_logic_present_1(telnumdo_jsp.java:208)
at org.apache.jsp.telnumdo_jsp._jspx_meth_html_html_0(telnumdo_jsp.java:114)
at org.apache.jsp.telnumdo_jsp._jspService(telnumdo_jsp.java:63)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
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:312)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
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:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:595)
若jsp页面这样写的时候没错误
<logic:iterate id="numall" name="numall" scope="request">
<tr>
<td>
jzk
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
我想总是我的标签写的出了问题了吧实现类我是这样写的
public List queryNUMAll(XgsxCallLog xgsxCallLog) throws Exception {
List numall = new ArrayList();
String hql = "SELECT callerno,calleeid,startTime,endTime,endTime-startTime as offset FROM XgsxCallLog WHERE callerno=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, xgsxCallLog.getCallerno());
numall = q.list();
return numall;
}action里面是这样
public ActionForward seltelnum(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Xgsx_Call_LogForm xgsx_Call_LogForm = (Xgsx_Call_LogForm) form;
XgsxCallLog xgsxCallLog=new XgsxCallLog();
xgsxCallLog.setCallerno(xgsx_Call_LogForm.getTelnum());
try {
List numall=this.ixgsx_call_logdao.queryNUMAll(xgsxCallLog);
request.setAttribute("numall", numall);
return mapping.findForward("seltelnumsuccess");
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("flagseltelnum", "error");
return mapping.findForward("seltelnumfailure"); }
}有高手帮忙解决下吗谢谢
<logic:iterate id="numall" name="numall" scope="request">
<tr>
<td>
${numall.callerno}
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
2007-12-30 14:33:24 ApplicationDispatcher[/fxsql] Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.el.ELException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
at org.apache.commons.el.Logger.logError(Logger.java:481)
at org.apache.commons.el.Logger.logError(Logger.java:498)
at org.apache.commons.el.Logger.logError(Logger.java:566)
at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:227)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:899)
at org.apache.jsp.telnumdo_jsp._jspx_meth_logic_present_1(telnumdo_jsp.java:208)
at org.apache.jsp.telnumdo_jsp._jspx_meth_html_html_0(telnumdo_jsp.java:114)
at org.apache.jsp.telnumdo_jsp._jspService(telnumdo_jsp.java:63)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
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:312)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
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:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:595)
若jsp页面这样写的时候没错误
<logic:iterate id="numall" name="numall" scope="request">
<tr>
<td>
jzk
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
我想总是我的标签写的出了问题了吧实现类我是这样写的
public List queryNUMAll(XgsxCallLog xgsxCallLog) throws Exception {
List numall = new ArrayList();
String hql = "SELECT callerno,calleeid,startTime,endTime,endTime-startTime as offset FROM XgsxCallLog WHERE callerno=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, xgsxCallLog.getCallerno());
numall = q.list();
return numall;
}action里面是这样
public ActionForward seltelnum(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Xgsx_Call_LogForm xgsx_Call_LogForm = (Xgsx_Call_LogForm) form;
XgsxCallLog xgsxCallLog=new XgsxCallLog();
xgsxCallLog.setCallerno(xgsx_Call_LogForm.getTelnum());
try {
List numall=this.ixgsx_call_logdao.queryNUMAll(xgsxCallLog);
request.setAttribute("numall", numall);
return mapping.findForward("seltelnumsuccess");
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("flagseltelnum", "error");
return mapping.findForward("seltelnumfailure"); }
}有高手帮忙解决下吗谢谢
解决方案 »
- FCKeditor 设置字体为什么 刷新页面字体改变
- 我有一个URL链接,如何用Javamail发送该链接的内容到邮箱,请高手帮忙
- 网页内容的排布问题
- cvs配置
- 为什么ResultSet 对象的isAfterLast()方法返回的值为空?
- 菜鸟问题,希望能得到你的热心帮助
- 文件下载Excel怎么不正常呀?
- 为什么我的Apache 服务器显示静态html页面就是乱码?查看-编码-简体中文 后只能用一次,下一次又是乱码?
- 关于在下拉列表里的数据实现动态刷新
- 帮帮忙,看看下面的代码,再线等待,给分!!!
- 做项目一定用spring + hibernate + spring吗?
- 关于urlrewrite
<tr>
<td>
${numall.callerno} <<-如果上面id改为innerRow,此行写为:<bean:write name="innerRow" property="callerno"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
<logic:iterate id="innerRow " name="numall" scope="request">
<tr>
<td>
<bean:write name="innerRow" property="callerno"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
<tr>
<td>
<bean:write name="content" property="XgsxCallLog的属性名"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
<logic:iterate id="jzk" name="numall" scope="request" type="org.jzk.fx.vo.XgsxCallLog">
<tr>
<td>
<bean:write name="jzk" property="callerno"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>
出现了这个错误:org.apache.jasper.JasperException: [Ljava.lang.Object;
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:346)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
root cause java.lang.ClassCastException: [Ljava.lang.Object;
org.apache.jsp.telnumdo_jsp._jspService(telnumdo_jsp.java:118)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
<logic:iterate id="jzk" name="numall" scope="request">
<tr>
<td>
<bean:write name="jzk" property="callerno"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>出现了以下错误:
javax.servlet.ServletException: No getter method for property callerno of bean jzk
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.telnumdo_jsp._jspService(telnumdo_jsp.java:163)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
root cause javax.servlet.jsp.JspException: No getter method for property callerno of bean jzk
org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:973)
org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:225)
org.apache.jsp.telnumdo_jsp._jspx_meth_bean_write_0(telnumdo_jsp.java:240)
org.apache.jsp.telnumdo_jsp._jspService(telnumdo_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.jzk.fx.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.
public List<String> queryNUMAll(XgsxCallLog xgsxCallLog) throws Exception {
List<String> numall = new ArrayList<String>();
String hql = "SELECT callerno,calleeid,startTime,endTime,endTime-startTime as offset FROM XgsxCallLog WHERE callerno=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, xgsxCallLog.getCallerno());
numall=q.list();
System.out.println("numall的类型"+numall.getClass().getName());
//return ((String [])numall.toArray(new String [0]));
return numall;
}
impl中numall的类型java.util.ArrayList
action中
public ActionForward seltelnum(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Xgsx_Call_LogForm xgsx_Call_LogForm = (Xgsx_Call_LogForm) form;
XgsxCallLog xgsxCallLog=new XgsxCallLog();
xgsxCallLog.setCallerno(xgsx_Call_LogForm.getTelnum());
try {
List numall=this.ixgsx_call_logdao.queryNUMAll(xgsxCallLog);
request.setAttribute("numall", numall);
System.out.println("action中numall的类型"+numall.getClass().getName());
return mapping.findForward("seltelnumsuccess");
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("flagseltelnum", "error");
return mapping.findForward("seltelnumfailure"); }
}
action中numall的类型java.util.ArrayLisjsp中
<logic:iterate id="jzk" name="numall" scope="request">
<%
System.out.println("jsp中numall的类型:"+jzk.getClass().getName());
%>
</logic:iterate>
jsp中numall的类型:[Ljava.lang.Object;大哥我该怎么做才能正确呢
<logic:iterate id="jzk" name="numall" scope="request">
<tr>
<td>
<bean:write name="jzk" property="callerno"/>
</td>
<td>
jzk
</td>
<td>
jzk
</td>
</tr>
</logic:iterate>这样写的话会跳出java.lang.ClassCastException: [Ljava.lang.Object; 这个错误
<%@ page import="java.lang.ArrayList" %>
<%@ page import="org.jzk.fx.vo.XgsxCallLog" %>
<%
ArrayList list=(ArrayList)request.getAttribute("numall");
for(int i=0;i<list.size();i++){
XgsxCallLog log=(XgsxCallLog)list.get(i);
%> 属性名:<%=log.getXxx()%>
}
%>