struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adolfo Miguelez" <pell...@hotmail.com>
Subject RE: Dynamic name to the text fields
Date Mon, 02 Sep 2002 11:21:59 GMT
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 <DarrylN@astrolabegroup.com>
>Reply-To: "Struts Users Mailing List" <struts-user@jakarta.apache.org>
>To: 'Struts Users Mailing List' <struts-user@jakarta.apache.org>
>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:dball@rhoworld.com]
>Sent: Friday, August 30, 2002 4:44 PM
>To: struts-user@jakarta.apache.org; anoopra@india.hp.com
>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:struts-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail:
><mailto:struts-user-help@jakarta.apache.org>
>
>--
>To unsubscribe, e-mail:   
><mailto:struts-user-unsubscribe@jakarta.apache.org>
>For additional commands, e-mail: 
><mailto:struts-user-help@jakarta.apache.org>

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx


--
To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>


Mime
View raw message