I don't think you want to use indexed properties for this. If you used indexed properties you need to have set/get methods to handle them. In your case you should removed the indexed stuff and the whole list should submit and populate for you.

Todd Nine wrote the following on 1/25/2005 2:52 PM:
Hi all,
    I am having an issue with marshalling a page's collection indexes
back into the form object.

I have a BillingForm object with multiple BlllingListItem beans.  Here
is an excerpt of my BillingForm object


public class BillingForm extends AnnuityForm {

private List billingList;

public List getBillingList() {
        return billingList;
}

public void setBillingList(List list) {
        billingList = list;
}

...
}

my BillingListItem bean object

public class BillingListItem extends EntityRoleListItem{

        private long billToID;
        private long entityID;
        private long appEntityRoleID;
        private boolean billTo;
        private String entityRoleType;
        private String startDate;
        private String stopDate;
        private String name;
        private AddressForm address;
... setters and getters ....
}



And my JSP snippet
<logic:notEmpty name="billingForm" property="billingList">

                                        <logic:iterate name="billingForm" 
property="billingList" id="item">
                                                <tr>
                                                        <html:hidden name="item" 
property="billToID" indexed="true" />
                                                        <html:hidden name="item" 
property="entityID" indexed="true" />
                                                        <html:hidden name="item" 
property="appEntityRoleID"
                                                                indexed="true" 
/>


<td style="text-align: center; vertical-align: middle"><html:checkbox
name="item" property="billTo" tabindex="20" /></td>
<td style="text-align: center; vertical-align: middle"><bean:write
name="item" property="entityRoleType" />&nbsp;</td>
<td style="text-align: center; vertical-align: middle">

<html:text
name="item" property="startDate" size="10"
onkeypress="return formatDate(event, this);" indexed="true" />
</td>
<td style="text-align: center; vertical-align: middle">
<html:text
name="item" property="stopDate" size="10"
onkeypress="return formatDate(event, this);" indexed="true" />
</td>
<td style="text-align: center; vertical-align: middle"><bean:write
name="item" property="name" />&nbsp;</td>
<td style="text-align: center; vertical-align: middle"><bean:write
name="item" property="address.addressLine1" /> <logic:notEmpty
name="item" property="address.addressLine2">
<br>
<bean:write name="item" property="address.addressLine2" />
</logic:notEmpty> &nbsp;</td>
<td style="text-align: center; vertical-align: middle"><logic:notEmpty
name="item" property="address.city">
<bean:write name="item" property="address.city" />,
</logic:notEmpty> <bean:write name="item" property="address.state" />
<bean:write name="item" property="address.postalCode" /> <logic:notEmpty
name="item" property="address.postalCode4">
- <bean:write name="item" property="address.postalCode4" />
</logic:notEmpty> &nbsp;</td>
</tr>
</logic:iterate>


                                </logic:notEmpty>


As you can see, I've added the index generation, and the html is correct. If I fill in dates and check the checkboxes, the collection is not populated with BillingListItems. Is there a way that I can do this without using 3 String arrays?

Thanks,
Todd

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Rick

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to