zoukankan      html  css  js  c++  java
  • 008_javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>

    异常名称 : 

    javax.servlet.jsp.JspTagException

    异常描述

    Don't know how to iterate over supplied "items" in <forEach>

    异常原因 : 

    服务器端的servlet或者controller返回的数据的类型是基本数据类型或者对象,而不是数组或者集合,这样的话是不能在jsp页面使用JSTL的<c:forEach items=""></c:forEach>进行遍历的

    解决方案 : 先核对服务端与浏览器端的数据类型,再按下面方案解决

    1. 将服务端的数据存入数组或集合再返回给浏览器

    2. JSP页面使用 JSTL中的简单for循环

    异常详细信息如下 : 

    严重: Servlet[jsp]的Servlet.service()抛出异常
    javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:255)
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:219)
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:137)
    	at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:227)
    	at org.apache.jsp.jsp.product_005flist_jsp._jspx_meth_c_005fforEach_005f0(product_005flist_jsp.java:285)
    	at org.apache.jsp.jsp.product_005flist_jsp._jspService(product_005flist_jsp.java:175)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
    	at com.msr.store.web.base.BaseServlet.service(BaseServlet.java:36)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.msr.store.web.filter.LoginFilter.doFilter(LoginFilter.java:47)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.msr.store.web.filter.EncodingFilter.doFilter(EncodingFilter.java:37)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:748)
    
    七月 20, 2020 4:39:06 下午 org.apache.catalina.core.StandardWrapperValve invoke
    严重: 在路径为/store的上下文中,Servlet[com.msr.store.web.servlet.ProductServlet]的Servlet.service()引发了具有根本原因的异常在 [40] 行处理 [/jsp/product_list.jsp] 时发生异常
    
    37: 					<li><a href="#">首页</a></li>
    38: 				</ol>
    39: 			</div>
    40: 			<c:forEach items="${pageBean}" var="p">
    41: 			<div class="col-md-2">
    42: 				<a href="${pageContext.request.contextPath}/ProductServlet?method=queryProductByPid&pid=${p.pid}">
    43: 					<img src="${pageContext.request.contextPath}/products/1/cs10001.jpg" width="170" height="170" style="display: inline-block;">
    
    
    Stacktrace:
    javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:255)
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:219)
    	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:137)
    	at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:227)
    	at org.apache.jsp.jsp.product_005flist_jsp._jspx_meth_c_005fforEach_005f0(product_005flist_jsp.java:285)
    	at org.apache.jsp.jsp.product_005flist_jsp._jspService(product_005flist_jsp.java:175)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
    	at com.msr.store.web.base.BaseServlet.service(BaseServlet.java:36)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.msr.store.web.filter.LoginFilter.doFilter(LoginFilter.java:47)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at com.msr.store.web.filter.EncodingFilter.doFilter(EncodingFilter.java:37)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:748)
    

      

  • 相关阅读:
    8.13 Java自学
    8.12 Java自学
    8.11 Java自学
    JAVA学习日报 8.18
    JAVA学习日报 8.17
    JAVA学习日报 8.16
    JAVA学习日报 8.15
    JAVA学习日报 8.14
    JAVA学习日报 8.13
    JAVA学习日报 8.12
  • 原文地址:https://www.cnblogs.com/xddx/p/13345524.html
Copyright © 2011-2022 走看看