We are trying to use <logic:iterate> in a JSP to access items in a list stored in the Form Bean by the Action class but we can't seem to get the syntax right.
I am getting an error meessage from PropertyUtils that displays the index as '${index}', which indicates that that struts el expression is not resolving to an int. Here is my exact syntax. The form and action are described in more detail below. <html:form action="/test"> <logic:iterate id="lineItem" indexId="index" name="testForm" property="list"> <!-- display the index counter for the fun of it. This works ok --> <bean:write name="index" /><br> <!-- now access the id of the indexth element of the list --> <bean:write name="list[${index}].id" /><br> <!-- now access the description of the indexth element of the list --> <html:text property="list[${index}].description" onchange="changefield(this);"/><br> <html:hidden property="isChanged[${index}]" /><br> </logic:iterate> <html:submit>Send</html:submit> </html:form> I have created several Test classes to help me understand the flow... The form is an instance of TestForm exends ActionForm and its form name in struts-config.xml is "testForm". (This is the named form for the action.) TestForm has one property: java.util.List list with accessors public List getList() and public void setList(List list). List is always a List of LineItem objects where LineItem is a simple JavaBean with properties String id (public String getId() and public void setId(String id)), String description (public String getDescription() and public void setDescription(String description)) and boolean isChanged (public void setIsChanged(boolean value) and public boolean getIsChanged() ) The Action (TestAction extends Action) "execute" method creates a List of 5 LineItem objects and stores that List into the form by calling ((TestForm)form).setList(list), then forwards to the jsp (test.jsp) In the jsp I would like to iterate through the list to perform the following: display the id (as html read-only text) and the description (as html:text) of each line item, then use JavaScript to change the "isChanged" property (in a hidden field) when the onchange event is triggered. I have tried several different syntaxes. I also tried using arrays instead of List's. I also specified the type of the LineItem class explicitly in the form element. I tried each of the "html:" and "bean:write" lines above one at a time to see if any would be successful, but they all produce that same error. I have combed the web for a good example of how to accomplish this, but I couldn't find anything that handled things in a way that would work for us. Can you tell me what I am doing wrong and how to accomplish the access? Thanks/Victor --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]