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 &lt;forEach&gt
;
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 &lt;forEach&gt;
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 &lt;forEach&gt;
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 &lt
;forEach&gt;
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

Reply via email to