回 帖 发 新 帖 刷新版面

主题:iterate标签问题

这是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");

        }
    }

有高手帮忙解决下吗谢谢

回复列表 (共1个回复)

沙发

都没人知道吗啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册