I did by a similar approach: <logic:iterate name="Data" indexId="index" id="item"> <html:text property="textFieldName<%=index%>"/></td> ... </logic:iterate>
In tha way you can take advantage of the iteration to set different property names to your input: textFieldName1, textFieldName2.... Just another choice for you >From: Darryl Nortje <[EMAIL PROTECTED]> >Reply-To: "Struts Users Mailing List" <[EMAIL PROTECTED]> >To: 'Struts Users Mailing List' <[EMAIL PROTECTED]> >Subject: RE: Dynamic name to the text fields >Date: Mon, 2 Sep 2002 12:48:37 +0200 > >Anoop, I did it by iterating through a collection of beans, each bean in >the >collection for eg had a getKey() and getValue() method then the jsp looks >like this. > ><logic:iterate name="attrib" id="collElem"> > <tr> > <td> > <input name="<bean:write name="collElem" property="key"/>"/> > </td> > </tr> ></logic:iterate> > >It's very simple but it works.... > >cheers >Darryl > >-----Original Message----- >From: Donald Ball [mailto:[EMAIL PROTECTED]] >Sent: Friday, August 30, 2002 4:44 PM >To: [EMAIL PROTECTED]; [EMAIL PROTECTED] >Subject: Re: Dynamic name to the text fields > > >On 8/30/2002 at 7:28 PM Anoop wrote: > > >Hi All, > > > > I am a newbie to struts and taglibs, was trying to display text >fields > >dynamically using "html:iterator". Below is the scenario I was > >trying out. > >You may be in luck, I've been recently trying to learn how to do something >similar myself. > ><snip/> > > >The html snippet for the above is something like: > > > > <input type="text" name="org" value="Org1"> > > <input type="text" name="org" value="Org2"> > > > >But I want it to be something like: > > > > <input type="text" name="a" value="Org1"> > > <input type="text" name="b" value="Org2"> > > > >Where the values("a" & "b") for the name attribute comes from an array > >defined in the Form Bean. What are the changes required in my jsp >snippet? > > > >Also, if only it is possible to get an output as desired, does the >FormBean > >be modified to support this. As there won't be any getter/setter for "a" > >and > >"b". > > > >Appreciate any kind of help regarding this. > >First, google around for "map-backed ActionForms" or similar. There's some >stuff over on jguru that might be helpful. Also, I'm trying to write >documentation for the struts user's guide for this, so I'd appreciate your >comments on how (un)clear the following is (apologies for the formatting, >my mail client sucks): > > <section name="4.2.3 Map-backed ActionForms" >href="map_action_form_classes"> > <p>The DynaActionForm classes offer the ability to create ActionForm >beans > at initialization time, based on a list of properties enumerated in the >struts >configuration file. However, many HTML forms are generated dynamically at >request-time. Their ActionForm beans' properties are not all known ahead of >time, so we need a new approach.</p> > <p>Struts allows you to make one (or more) of your ActionForm's >properties >' values a Map instead of a traditional atomic object. You can then store >your form's dynamic fields' data in that Map. Here is an example of a >map-backed ActionForm class:</p> ><pre> ><![CDATA[ >public FooForm extends ActionForm { > > private final Map values = new HashMap(); > > public void setValue(String key, Object value) { > values.put(key, value); > } > > public Object getValue(String key) { > return values.get(key); > } > >} >]]> ></pre> > <p>In its corresponding JSP page, you can access objects stored in >the values map using a special notation: <i>mapname(keyname)</i>. The >parantheses in the bean property name serve to indicate that the bean >property named <i>mapname</i> should be a Map, and that struts should look >at the value stored with the key <i>keyname</i> in that Map to find the >"real" property for <i>mapname(keyname)</i>.</p> > <p>Here is a simple example:</p> ><pre> ><![CDATA[ ><html:text property="value(foo)"/> >]]> ></pre> > <p>This will call the getValue() method on FooForm with a key value >of "foo" to find the property value. To create a form with dynamic field >names, you might do something like this:</p> ><pre> ><![CDATA[ ><% for (int i=0; i<10; i++) { > String name = "value(foo-" + i + ")"; > <html:text property="<%=name%>"/><br/> >%> >]]> ></pre> > </section> > >Hope it helps, thanks in advance for any comments. > >- donald > > >-- >To unsubscribe, e-mail: ><mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: ><mailto:[EMAIL PROTECTED]> > >-- >To unsubscribe, e-mail: ><mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: ><mailto:[EMAIL PROTECTED]> _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>