There appears to be at least two issues with the current incarnation of
Shale with Glassfish v1ur1b12, b13, b14 / JSF 1.2_02-b03-FCS. This
problem has been verified with Shale 1.0.2, 1.0.3, and nightly build
20060926.
1) f:param's and jsp:param's do not get passed to the request parameters.
2) c:forEach appears to be broken when using a deferred value for the
items attribute. The iteration works fine with Tomahawk t:dataList and
with a standard h:dataTable.
In both cases, the problems persist if the shale-core.jar is on the
classpath. If we remove the shale-core.jar from our classpath, the
c:forEach and f:param/jsp:param work fine.
Would this have something to do with Shale's use of ValueBinding versus
JSF 1.2's ValueExpression?
Here is the sample jsp:
...
<head>
...
<%-- jsp:param's are not added to request --%>
<jsp:include page="/components/jsinclude.jsp" flush="true" > <%--
jsinclude.jsp has place hoders for page title, etc. --%>
<jsp:param name="sPageTitle" value="MyDVD Prototype" />
<jsp:param name="bRequiredDojo" value="true" />
<jsp:param name="bRequiredScrollComponent" value="true" />
<jsp:param name="bRequiredMiniDVD" value="true" />
</jsp:include>
...
</head>
...
<f:view>
<h:form id="dvdForm">
<%-- c:forEach does not work… throws exception (see stack trace
reference) --%>
<c:forEach var="item" items="#{MyDVD.listing.listingList}">
<h:outputText value="#{item.title}"/>
</c:forEach>
</h:form>
</f:view>
...
Here's the error:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.
exception
javax.servlet.ServletException: Don't know how to iterate over supplied
"items" in <forEach>
root cause
javax.servlet.jsp.JspTagException: Don't know how to iterate over
supplied "items" in <forEach>
note The full stack traces of the exception and its root causes are
available in the Sun Java System Application Server Platform Edition
9.0_01 logs.
Sun Java System Application Server Platform Edition 9.0_01
Here's the stack trace:
[#|2006-10-03T11:26:29.875-0700|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_Th
readID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=99b94bd8-1113-4bfd-9b2b-faa50fdbe27e;|Appli
cationDispatcher[/peer] Servlet.service() for servlet jsp threw exception
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
:274)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachS
upport.java:238)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155)
at
javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_c_forEach_0(MyDVDs_jsp.java:714)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_h_form_0(MyDVDs_jsp.java:260)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_f_view_0(MyDVDs_jsp.java:155)
at org.apache.jsp.MyDVDs_jsp._jspService(MyDVDs_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:850)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:697)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:532)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:465)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:353)
at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
at
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:480)
at
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:125)
at
org.apache.shale.view.faces.ViewViewHandler.renderView(ViewViewHandler.java:151)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:850)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:697)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:532)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:465)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:353)
at
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:775)
at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:742)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:52)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
|#]
[#|2006-10-03T11:26:30.062-0700|WARNING|sun-appserver-pe9.0|javax.enterprise.resource.webcontainer.j
sf.lifecycle|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=99b94bd8-1113-4bfd-9b2b-faa
50fdbe27e;|executePhase(RENDER_RESPONSE
6,[EMAIL PROTECTED]) threw excep
tion
javax.faces.FacesException: javax.servlet.ServletException:
javax.servlet.jsp.JspTagException: Don't
know how to iterate over supplied "items" in <forEach>
at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:418)
at
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:480)
at
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:125)
at
org.apache.shale.view.faces.ViewViewHandler.renderView(ViewViewHandler.java:151)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:850)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:697)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:532)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:465)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:353)
at
org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:775)
at
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:742)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:52)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: javax.servlet.ServletException:
javax.servlet.jsp.JspTagException: Don't know how to iter
ate over supplied "items" in <forEach>
at
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:930)
at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:863)
at org.apache.jsp.MyDVDs_jsp._jspService(MyDVDs_jsp.java:128)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:412)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:318)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
at
org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:850)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:697)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:532)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:465)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:353)
at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:413)
... 46 more
Caused by: 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
:274)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachS
upport.java:238)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155)
at
javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_c_forEach_0(MyDVDs_jsp.java:714)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_h_form_0(MyDVDs_jsp.java:260)
at org.apache.jsp.MyDVDs_jsp._jspx_meth_f_view_0(MyDVDs_jsp.java:155)
at org.apache.jsp.MyDVDs_jsp._jspService(MyDVDs_jsp.java:117)
... 59 more
|#]
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.407 / Virus Database: 268.12.12/462 - Release Date: 10/3/2006