On 10/3/06, Paul Tabor <[EMAIL PROTECTED]> wrote:
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?
From our experience with JSF 1.2 in Creator, I suspect this isn't the
problem area ... the backwards compatibility seems to be quite good. I do
suspect that this has sometthing to do with the changes in the way that the
component tree is prebuilt (for JSP views) in JSF 1.2, versus the way they
were built as the components were rendered in JSF 1.1. That's going to take
some research to untangle.
Craig
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