struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oscar Guindzberg" <oscar.guindzb...@gmail.com>
Subject Nesting logic:iterate tags and indexed="true"
Date Thu, 25 Jan 2007 18:29:28 GMT
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@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message