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]

Reply via email to