I'm guessing you changed the action your form is pointing to
("/TilesSaveInputs") - so is the form name still "inputsForm"?

 ---->  <logic:iterate id="choice" name="inputsForm" property="allChoices">

Niall

----- Original Message ----- 
From: "Janne Mattila" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 16, 2004 2:59 PM
Subject: Tiles breaks my page that uses logic:iterate


> I have a simple page for editing some form properties. It works. There's a
> select box, a multibox, single-select select and a text input field. Now I
> tried to "Tiles-ify" it, just using Tiles to add some silly decorations
> around the actual form. Using tiles seems to break the form, the exception
I
> get is
>
> 16:49:43,714 ERROR [Engine] ----- Root Cause -----
> javax.servlet.ServletException: Cannot find bean choice in any scope
>         at
>
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:533)
>         at
>
org.apache.jsp.inputs_0002dcontent_jsp._jspService(inputs_0002dcontent_jsp.j
ava:103)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
10)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>         at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:684)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:575)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher
.java:498)
>         at
>
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:8
22)
>         at
>
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:398)
>         at
> org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
>         at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
>         at
> org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
>         at
>
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.ja
va:881)
>         at
> org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
>         at
>
org.apache.jsp.template_jsp._jspx_meth_tiles_insert_1(template_jsp.java:197)
>         at
> org.apache.jsp.template_jsp._jspx_meth_html_html_0(template_jsp.java:109)
>         at org.apache.jsp.template_jsp._jspService(template_jsp.java:63)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
10)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>         at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:684)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch
er.java:575)
>         at
>
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher
.java:498)
>         at
>
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:8
22)
>         at
>
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:398)
>         at
> org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
>         at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
>         at
> org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
>         at
>
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.ja
va:881)
>         at
> org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
>         at
> org.apache.jsp.inputs_jsp._jspx_meth_tiles_insert_0(inputs_jsp.java:99)
>         at org.apache.jsp.inputs_jsp._jspService(inputs_jsp.java:57)
>
> the JSP page for the form looks like:
>
> <html:form action="/TilesSaveInputs" onsubmit="return
> validateInputsForm(this);">
>
>   <bean:write name="inputsForm" property="counter" /><br>
>   <html:hidden property="counter" />
>
>   <p>Select + optionsCollection:<br>
>
>   <html:select property="selectedChoicesForSelect" multiple="true"
size="5">
>   <html:optionsCollection property="allChoices" value="key" label="name"/>
>   </html:select><br>
>
>   <p>Multibox:<br>
>   <!-- THE FOLLOWING BREAKS THE PAGE -->
>
>   <logic:iterate id="choice" name="inputsForm" property="allChoices">
>     <html:multibox property="selectedChoicesForMultibox">
>       <bean:write name="choice" property="key"/>
>     </html:multibox>
>     <bean:write name="choice" property="name"/><br>
>   </logic:iterate>
>
>   <p>Single select + optionsCollection:<br>
>
>   <html:select property="selectedChoiceForSingleSelect">
>   <html:optionsCollection property="allChoices" value="key" label="name"/>
>   </html:select><br>
>
>   <p>Plain text field, validated using validator<br>
>   e-mail:<html:text property="text"/><br>
>
>   <p>
>   <html:link action="/Start.do">Back</html:link><br>
>
>   <p>
>   <html:submit/>
> </html:form>
>
> The part which breaks the page is the multibox, it's iterator and use of
> iterator's choice object. If I take that part out the page works fine with
> Tiles, I can make the selections etc.
>
> The page works fine also with the multibox as long as I do not use Tiles.
> With tiles I use the same Actions, JSP code for forming the output is
> straight copy-paste, there's no difference with the action definitions in
> struts-config.xml. The only difference is the use of Tiles. I wonder what
> about Tiles causes this to break?
>
> _________________________________________________________________
> Add photos to your e-mail with MSN 8. Get 2 months FREE*.
> http://join.msn.com/?page=features/featuredemail
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to