I'll make that change,
Thanks,
Barry
----- Original Message -----
From: "Yee, Richard K,,DMDCWEST" <[EMAIL PROTECTED]>
To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]>
Sent: Thursday, October 23, 2003 2:26 PM
Subject: RE: DynaForms and java.util.ArrayList"
> Barry,
> You are unnecessarily creating an extra String object here:
> //Create list (in a loop)
> cityList.add(new String(rs.getString("city")));
>
> instead, just use
> cityList.add(rs.getString("city"));
>
>
>
> -Richard
>
> -----Original Message-----
> From: Barry Volpe [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 22, 2003 2:39 PM
> To: Struts Users Mailing List
> Cc: [EMAIL PROTECTED]
> Subject: Re: DynaForms and java.util.ArrayList"
>
>
>
> Hi Mark,
>
> As per Tim's suggestion I am able to use ForEach
> with DynaValidatorForm.
>
> Here is what works:
>
> struts-config.xml:
>
> <form-bean name="locationForm"
> type="org.apache.struts.validator.DynaValidatorForm" >
> <form-property
> name="state"
> type="java.lang.String"
> initial=""/>
> <form-property
> name="city"
> type="java.lang.String"
> initial=""/>
> <form-property
> name="cities"
> type="java.util.ArrayList"/>
> </form-bean>
>
>
> Action:
>
> DynaActionForm eForm = (DynaActionForm)form;
>
>
> //Create list (in a loop)
> cityList.add(new String(rs.getString("city")));
>
> eForm.set("cities",cityList);
>
> request.setAttribute(mapping.getAttribute(), eForm);
>
> or
>
> request.setAttribute("locationForm", eForm);
>
>
> In Jsp creates a drop down menu with cities:
>
> <html-el:select property="city" size="1">
> <html-el:option value="City">Select-A-City</html-el:option>
> <c:forEach var="city" items="${locationForm.map.cities}">
> <html-el:option value="${city}">
> <c:out value="${city}"/>
> </html-el:option>
> </c:forEach>
> </html-el:select>
>
>
> Looks like the fine point of all of this is:
>
> items="${locationForm.map.cities}">
>
> Barry
>
>
>
>
>
>
>
> ----- Original Message -----
> From: "Mark Lowe" <[EMAIL PROTECTED]>
> To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> Sent: Tuesday, October 21, 2003 11:41 AM
> Subject: Re: DynaForms and java.util.ArrayList"
>
>
> > I'm not sure if the forEach way works with indexed form properties. I
> > tried and the html:text tags seems to be a tad oblivious to the fact
> > they were nested in a loop.
> >
> > <form-property name="cities" type="java.util.ArrayList" />
> > ..
> > //also you need to scope to session
> >
> > <action path="/process-form" name="myForm" scope="session" ...
> >
> > ..
> > ArrayList cityList = new ArrayList();
> > cityList.add(new CityBean());
> > cityList.add(new CityBean());
> >
> > theForm.set("cities",cityList);
> >
> > //you need this too for an unknown reason
> > request.setAttribute("cities",cityList.toArray());
> >
> > ..
> >
> > <logic:iterate id="city" name="myForm" property="cities"> <html:text
> > name="city" property="name" /> </logic:iterate>
> >
> > ..
> >
> > I've helped a few tutorial victims with this and it works for them
> > too.
> >
> > If you have it running with the forEach tags (they work with the
> > html:text or other form bits) I'd like to know..
> >
> > Cheers Mark
> >
> >
> >
> > On Tuesday, October 21, 2003, at 06:42 PM, Chen, Gin wrote:
> >
> > > Remove initial=""
> > > Then in your jsp do:
> > > <c:forEach var="blah" items="${myFormBean.map.city}"> <c:out
> > > value="${blah}"/> </c:forEach>
> > > -Tim
> > >
> > > -----Original Message-----
> > > From: Barry Volpe [mailto:[EMAIL PROTECTED]
> > > Sent: Tuesday, October 21, 2003 1:14 PM
> > > To: Struts Users Mailing List
> > > Subject: DynaForms and java.util.ArrayList"
> > >
> > >
> > >
> > > When I define this in my struts-config:
> > >
> > > <form-property
> > > name="city"
> > > type="java.util.ArrayList"
> > > initial=""/>
> > >
> > > I get this error:
> > >
> > > [ServletException in:/tiles/locationselection.jsp] Exception
> > > creating bean of class
> > > org.apache.struts.validator.DynaValidatorForm: {1}'
> > >
> > > Can I access "city" using JSTL in my jsp.
> > >
> > > What should I put in my JSP.
> > >
> > > What am I missing?
> > >
> > > Thanks,
> > > Barry
> > >
> > > --------------------------------------------------------------------
> > > -
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]