On 08/08/2003 02:11 Sridhar Kotagiri wrote:
Hi, I have a Action form which contains an arraylist the array list adds beans which are called IpAddress(two String properties).I am able to display in the jsp page but when I submit this form it is unable to populate to the action form.
<b class="txtMedium" id="large"><bean:message
bundle="content" key="title.ipaddresses"/></b>
<table width="100%" cellspacing="0" cellpadding="2"
border="0">
<logic:iterate id="Element" name="editAdvancedForm"
property="alist">
<tr class="textbox" style="width:150px;"> <td><html:text name="Element" property="domainName"
/></td>
<td><b><bean:message bundle="content"
key="common.pointsto"/></b></td>
<td><html:text name="Element" property="ipValue"
/></td> </tr> </logic:iterate> </table>
public class EditAdvancedForm extends ValidatorForm {
//~ Instance fields --------------------------------------------------------
private String domain_Id;
private ArrayList alist;
private IpAddress ip1;
public EditAdvancedForm(){
alist=new ArrayList();
ip1=new IpAddress();
}
public void setDomainName(String name)
{
ip1.setDomainName(name);
}
public String getDomainName()
{
return ip1.getDomainName();
}
public void setIpValue(String name)
{
ip1.setIpValue(name);
alist.add(new IpAddress(ip1.getDomainName(),ip1.getIpValue()));
}
public String getIpValue()
{
return ip1.getIpValue();
}
/** * @return */ public String getDomain_Id() { return domain_Id; } /** * @return */ public IpAddress getIp1() { return ip1; }
/** * @param address */ public void setIp1(IpAddress address) { ip1 = address; }
/** * @return */ public ArrayList getAlist() { return alist; }
/** * @param list */ public void setAlist(ArrayList list) { alist = list; }
}
public class IpAddress { private String domainName; private String ipValue; private String flag; private String flag1;
public IpAddress(String str1,String str2) { this.setDomainName(str1); this.setIpValue(str2); } public IpAddress(){ } /** * @return */ public String getDomainName() { return domainName; }
/** * @return */ public String getIpValue() { return ipValue; }
/** * @param string */ public void setDomainName(String string) { domainName = string; }
/** * @param string */ public void setIpValue(String string) { ipValue = string; }
}
Your form bean should have an indexed property (see the Struts docs) of type IpAddress. Say you call this ipAddress, then your logic;iterate tag shoudol have id="ipAddress" and your html:text tag should have name="ipAddress" indexed="true".
HTH
--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]