  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Nesting logic:iterate tags and indexed= "true " | Nesting logic:iterate tags and indexed= "true " 2007-01-25 - By Oscar Guindzberg
Back I have a problem nesting logic:iterate tags along with using indexed="true"
I have a form that extends ActionForm which has a Car array. Car class has in turn a type and a Components array. Component has 2 fields: name and qty.
This is the jsp:
<html:form ....> <logic:iterate id="cars" name="myForm" property="cars" indexId="carsIndex"> <bean:write name="cars" property="type" /> <logic:iterate id="components" name="cars" property="components" indexId="componentsIndex"> <html:text name="components" property="name" indexed="true"/> <html:text name="components" property="qty" indexed="true"/> </logic:iterate> </logic:iterate> </html:form>
This is the generated html:
<form ...> Standard <input type="text" name="components[0].name" value="door"/> <input type="text" name="components[0].qty" value="4"/> <input type="text" name="components[1].name" value="engine"/> <input type="text" name="components[1].qty" value="1"/> Superb <input type="text" name="components[0].name" value="door"/> <input type="text" name="components[0].qty" value="5"/> <input type="text" name="components[1].name" value="engine"/> <input type="text" name="components[1].qty" value="2"/> .... </form>
If I submit the form, Struts won't be able to rebuild the Car array with its components.
This is what I expect the html to be:
<form ...> Standard <input type="text" name="cars[0].components[0].name" value="door"/> <input type="text" name="cars[0].components[0].qty" value="4"/> <input type="text" name="cars[0].components[1].name" value="engine"/> <input type="text" name="cars[0].components[1].qty" value="1"/> Superb <input type="text" name="cars[1].components[0].name" value="door"/> <input type="text" name="cars[1].components[0].qty" value="5"/> <input type="text" name="cars[1].components[1].name" value="engine"/> <input type="text" name="cars[1].components[1].qty" value="2"/> .... </form>
How can I achieve that?
Am I on the right path?
Oscar
-- Oscar Guindzberg http://www.latbrain.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To unsubscribe, e-mail: user-unsubscribe@(protected) For additional commands, e-mail: user-help@(protected)
|
|
 |