This is exactly that I have. Also i asumed that I need in ContactInfo.class something like this: public Email getEmails(int index){ return emails.toArray()[index]; }
For property: model.currentPerson.contactInfo.emails[0].emailAddress But I notised that Struts calls getEmails() for this property instead of getEmails(0). getEmails(0) never called actualy. I don't know what to do))) Thanks Eugene --- "Kandula, Sunita" <[EMAIL PROTECTED]> wrote: > > Can you give code details of ContactInfo and Email > classes . > I am assuming you will have something like the > following, basically no > indexed methods are required. > ContactInfo.class > /** > * @return > */ > > private Collection emails; > public Collection getEmails() { > return emails; > } > > /** > * @param collection > */ > public void setEmails(Collection collection) { > emails = collection; > } > > > and your Email class should have following methods. > public String getEmailAddress() { > return emailAddress; > } > > /** > * @param string > */ > public void setEmailAddress(String string) { > emailAddress = string; > } > > > > -----Original Message----- > From: Evgeniy Strokin > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 15, 2004 2:40 PM > To: Struts Users Mailing List > Subject: RE: indexed property is not updated after > submit > > > Thanks, > I think I'm getting close)) > But your example gives me this exception: > --------------------------- > Invalid argument looking up property > model.currentPerson.contactInfo.emails[0].emailAddress > of bean form > --------------------------- > Could you clue me in why is what? > > Thanks, > Eugene > > --- "Kandula, Sunita" <[EMAIL PROTECTED]> wrote: > > > Could be done like this: > > <%@ taglib uri="/WEB-INF/struts-nested.tld" > > prefix="nested" %> > > <nested:iterate name="form" > > property="model.currentPerson.contactInfo.emails" > > > > <nested:text property="emailAddress" /> > > </nested:iterate> > > > > > > > > -----Original Message----- > > From: Evgeniy Strokin > > [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, December 15, 2004 10:04 AM > > To: [EMAIL PROTECTED] > > Subject: indexed property is not updated after > > submit > > > > > > Hi, > > I have a problem: > > Struts config file has: > > <form-beans> > > <form-bean name="form" > > type="org.apache.struts.action.DynaActionForm"> > > <form-property name="model" > > type="com.mycomp.SecurityAdminModel"/> > > </form-bean> > > </form-beans> > > > > On JSP I have: > > <logic:iterate id="email" > > property="model.currentPerson.contactInfo.emails" > > name="form" > > > <html:text property="emailAddress" name="email" > > </logic:iterate> > > > > It generates folowing HTML: > > <input type="text" name="email[0].emailAddress" > > value="[EMAIL PROTECTED]"> > > <input type="text" name="email[1].emailAddress" > > value="[EMAIL PROTECTED]"> > > > > But when I submit the form actual values in a bean > > are > > not updated. They are still the same. > > > > This is my Bean: > > package com.mycomp.securityadmin; > > public class SecurityAdminModel implements > > Serializable{ > > > > private Person currentPerson=null; > > public Phone getPhone(int ind){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > currentPerson.getContactInfo().getPhones()!=null > && > > ind>=0 && > > > ind<currentPerson.getContactInfo().getPhones().size()) > > return > > > (Phone)currentPerson.getContactInfo().getPhones().toArray()[ind]; > > else return null; > > } > > > > public void setPhone(int ind, Phone phone){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > currentPerson.getContactInfo().getPhones()!=null > && > > ind>=0 && > > > ind<currentPerson.getContactInfo().getPhones().size()) > > > currentPerson.getContactInfo().getPhones().toArray()[ind]=phone; > > } > > > > public Address getAddress(int ind){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > > currentPerson.getContactInfo().getAddresses()!=null > > && > > ind>=0 && > > ind > > > <currentPerson.getContactInfo().getAddresses().size()) > > return > > > (Address)currentPerson.getContactInfo().getAddresses().toArray()[ind]; > > else return null; > > } > > > > public void setAddress(int ind, Address adr){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > > currentPerson.getContactInfo().getAddresses()!=null > > && > > ind>=0 && > > > ind<currentPerson.getContactInfo().getAddresses().size()) > > > currentPerson.getContactInfo().getAddresses().toArray()[ind]=adr; > > } > > > > public Email getEmail(int ind){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > currentPerson.getContactInfo().getEmails()!=null > && > > ind>=0 && > > > ind<currentPerson.getContactInfo().getEmails().size()) > > return > > > (Email)currentPerson.getContactInfo().getEmails().toArray()[ind]; > > else return null; > > } > > > > public void setEmail(int ind, Email email){ > > if(currentPerson!=null && > > > currentPerson.getContactInfo()!=null > > && > > currentPerson.getContactInfo().getEmails()!=null > && > === message truncated === __________________________________ Do you Yahoo!? The all-new My Yahoo! - Get yours free! http://my.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]