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]