It should be:

         <% int i = 0; %>
         <logic:iterate id="list" name="adminUpdateProfileForm" 
property="customerContacts">
            <tr> <% i++ ; %>
             <td><html:text property="<%= \"customerContact[\" + i \"].contactName\" 
%>"/></td>
            </tr>
         </logic:iterate>

You need to replace the whole string. The exception would have been from
the BeanUtils not able to understand what the [i] would have meant. If you
have an iterator in a scriptlet, then you need to always use a scriptlet
to access it. Usually. Mostly.

I had a feeling there was a change made to iterate recently to give you
an index value, but I can't remember what it was.

I usually use a Map and have the key as the integer value in the index
for the entry. Works well when you don't have liner numbering in the
list of key/value pairs.

Reply via email to