I would have a <FormBeanName> extend ActionForm
have a getPersonList which returns a collection of Person objects which does not extend the ActionForm struts-config has <form-bean name="formBean" type="org.....<FormBeanName>"> <action path="/SomeAction" form="formBean" sandeep --- Sashi Ravipati <[EMAIL PROTECTED]> wrote: > John > > Thanks for all the code u sent. I have started > working on it, and I had > few questions (PLS bear with me if they look > stupid). > > 1. PersonForm (which extends ActionForm) will have > get and set methods > for Name and Phone Number? This PersonForm is also > initialized in > Struts-Config.xml > > 2. IS myFormBean another bean which extends > ActionForm ? Do I need to > set this also in my Struts-Config.xml > > Thanks > > > > >>> [EMAIL PROTECTED] 06/11/03 06:45PM > >>> > Forgot to mention, I believe for the case of > indexing using > logic:iterate your id must match your property. So > in your example set > id="personList" > > Now if you switch over to nested:iterate, the whole > id thing goes away > and the property and type attributes are sufficient. > > -john > > -----Original Message----- > From: John Greenhill > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 11, 2003 3:37 PM > To: Struts Users Mailing List > Subject: RE: what setters do i implement in an > indexed tag > --NewBiequestion > > > Assuming you're NOT using the lazy initialization, > you could do it like > this... > > > > 1) your iterate will need to specify the type of the > nested class: > > <logic:iterate id="person" name="myFormBean" > property="personList" > type="com.mydom.myproject.struts.Person> > > Where the Person class has just the standard > accessors for name and > phoneNo. > > > 2) Your myFormBean will have the special accessors > for indexing: > > // SPECIAL ACCESSORS FOR INDEXING NEEDED > public Person getPersonList(int ndx) { > return (PersonForm) personList.get(ndx); > } > public void setPersonList(int ndx, PersonForm p) > { > personList.set(ndx, p); > } > > > 3) Assuming you don't already know the size of your > personList, your > reset method > will initialize it and create the empty Person > objects to fill with the > data: > > public void reset(ActionMapping mapping, > HttpServletRequest request) > { > > this.personList = new ArrayList(); > > String num = > request.getParameter("personListLength"); > try { > if (num != null) { > int len = Integer.parseInt(num); > for (int i = 0; i < len; i++) > this.personList.add(new > PersonForm()); > } > } catch (NumberFormatException e) { > //... > } > } > > This assumes the prep action that entered the jsp > figured out the size > of the list > and set it into a hidden in the jsp in a field named > personListLength. > > -john > > -----Original Message----- > From: Sashi Ravipati [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 11, 2003 1:19 PM > To: [EMAIL PROTECTED] > Subject: what setters do i implement in an indexed > tag --NewBiequestion > > > Can some body help in as how to define get and set > methods when we use > indexed tags. > > eg: > > <logic:iterate id="person" name="myFormBean" > property="personList"> > <tr> > <td> > <bean:write name="person" property="name"/> > <html:hidden name="person" property="name" > indexed="true"/> > </td> > <td> > <html:text name="person" property="phoneNo" > indexed="true"/> > </td> > </tr> > </logic:iterate> > > What will be the get and set methods. > > Thanks > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? Yahoo! Calendar - Free online calendar with sync to Outlook(TM). http://calendar.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]