Glad you worked it out :) Dave
On Wed, Oct 13, 2010 at 4:30 PM, Ryan Beckes <rbec...@gmail.com> wrote: > Dave, > > Thanks for the tip, it worked perfectly! To recap, I changed the addresses > mapping.... > > /** persistent field */ > @OneToMany(mappedBy="customer", > targetEntity=com.inftropy.plus.account.Customer.model.Address.class, > cascade > = { CascadeType.ALL}, fetch=FetchType.EAGER) > @IndexedEmbedded > @MapKey(name="id") > private Map<java.lang.Long, Address> addresses; > > ... and the jsp... > > <table> > <tr> > <td> > <s:text name="addressIdTitle"/> > </td> > <s:iterator value="#attr.customer.addresses" > status="custAddressStatus"> > <td> > <s:textfield name="addresses[%{key}].id" value="%{value.id > }"/> > </td> > </s:iterator> > </tr> > <tr> > <td> > <s:text name="addressCodeTitle"/> > </td> > <s:iterator value="#attr.customer.addresses" > status="custAddressStatus"> > <td> > <s:textfield name="addresses[%{key}].code" > value="%{value.code}"/> > </td> > </s:iterator> > </tr> > </table> > > > Best, > Ryan > > > On Tue, Oct 12, 2010 at 1:26 PM, Dave Newton <davelnew...@gmail.com> > wrote: > > > I don't know about sets; personally I'd use a map so you actually have a > > way > > to access them by something meaningful, like an ID. Then you use > map-based > > property field names (it's [] or (), with the key inside, I forget which > > off > > the top of my head). I think () is for indexed, so I'd aim for [] first. > > > > Dave > > > > On Tue, Oct 12, 2010 at 2:21 PM, Ryan Beckes <rbec...@gmail.com> wrote: > > > > > Hello, > > > > > > I'm using an action which implements the ModelDriven interface where my > > > model is a hibernate POJO (e.g. Customer). In this Customer I have a > > > OneToMany relationship with another hibernate POJO (e.g. Address)... > > > > > > /** persistent field */ > > > @OneToMany(mappedBy="customer", > > > targetEntity=com.inftropy.plus.account.Customer.model.Address.class, > > > cascade > > > = { CascadeType.ALL}, fetch=FetchType.EAGER) > > > @IndexedEmbedded > > > private Set<Address> addresses; > > > > > > ... I'm trying to create a form that allows the setting for multiple > > > addresses for the current customer. For example, say my address has two > > > fields (id and name) and I want to set two addresses for a certain > > > Customer.... > > > > > > BEGIN jsp > > > <s:iterator value="model" status="customerStatus" id="customer"> > > > <table> > > > <tr> > > > <td> > > > <s:text name="addressIdTitle"/> > > > </td> > > > <s:iterator value="#attr.customer.addresses" > > > status="custAddressStatus"> > > > <td> > > > <s:textfield name="addresses.id" value="%{id}"/> > > > </td> > > > </s:iterator> > > > </tr> > > > <tr> > > > <td> > > > <s:text name="addressCodeTitle"/> > > > </td> > > > <s:iterator value="#attr.customer.addresses" > > > status="custAddressStatus"> > > > <td> > > > <s:textfield name="addresses.code" value="%{code}"/> > > > </td> > > > </s:iterator> > > > </tr> > > > </s:iterator> > > > END jsp > > > > > > BEGIN resulting html > > > > > > <table> > > > <tr> > > > <td> > > > addressIdTitle > > > </td> > > > > > > > > > <td> > > > <input type="text" name="addresses.id" value="2" > > > id="Customer_update_addresses_id"/> > > > </td> > > > > > > <td> > > > <input type="text" name="addresses.id" value="1" > > > id="Customer_update_addresses_id"/> > > > </td> > > > > > > </tr> > > > <tr> > > > <td> > > > > > > addressCodeTitle > > > </td> > > > > > > <td> > > > <input type="text" name="addresses.code" value="SHIPTO" > > > id="Customer_update_addresses_code"/> > > > </td> > > > > > > <td> > > > <input type="text" name="addresses.code" value="BILLTO" > > > id="Customer_update_addresses_code"/> > > > </td> > > > </tr> > > > </table> > > > END resulting html > > > > > > ... Is there a convention I can use (in this case I tried > > > addresses.<field>, which didn't work) so that the fields I set > > > correspond to the associated Address object for the current model? > > > > > > Thanks, > > > Ryan > > > > > >