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]
.