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]