Okay, given that this should work, please let me provide an example of a
situation I am having great difficulty with:

I am working in a Java 1.4.2 (Tomcat 4.1.29), Struts 1.1 environment using
JSTL 1.1. I am attempting to take any changes a user makes to the values on
the form, and review them when submitted. I am specifically having trouble
retrieving values from the three fields automatically created from an
arrayList (generated by using JSTL, a DynaActionForm, and a forEach loop).

Below are code fragments detailing the issue:

The entry in the struts-config.xml looks like this:
<form-bean name="detailForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="tank" type="java.util.ArrayList"/>
</form-bean>

The .jsp looks like this:
<c:forEach var="tank" items="${detailForm.map.tank}">
<html:text indexed="True" name="tank" property="tankTotalInventory"
size="10" />

<c:forEach var="thruput" items='${tank.thruputs}'>
<html:text indexed="True" name="thruput" property="thruputTotalInventory"
size="10" />
</c:forEach>

</c:forEach>

The source of the resulting .jsp looks like this:
<input type="text" name="tank[0].tankTotalInventory" size="10" value="100">
<input type="text" name="thruput[0].thruputTotalInventory" size="10"
value="200">
<input type="text" name="thruput[1].thruputTotalInventory" size="10"
value="300">
<input type="text" name="thruput[2].thruputTotalInventory" size="10"
value="400">

I then make changes to the values of the tankTotalInventory field and all
three of the thruputTotalInventory fields and submit the form. I have a
breakpoint in the action that the form posts to in order to review the
contents of the DynaActionForm.

I am capturing any changes made to the tankTotalInventory field, but the
arrayList-derived fields (thruput[0].thruputTotalInventory,
thruput[1].thruputTotalInventory, and thruput[2].thruputTotalInventory)
remain unchanged.

Any help provided would be greatly appreciated!

Reply via email to