IIRC, <html:optionsCollection> plays even nicer with LabelValue because of the defaults for the "label" and "value" attributes. In other words, I think Robert's example is equivalent to:
<html:select property="myProperty"> <html:optionsCollection name="myOptions"/> </html:select> Quoting Robert Taylor <[EMAIL PROTECTED]>: > Good. I'm glad you got it working. > > I tend to use the <html:optionsCollection .../> and populate my collection > with LabelValue beans. It keeps things uncomplicated and simple. > > I end up with code like this in my .jsp: > > <html:select property="myProperty"> > <html:optionsCollection name="myOptions" label="label" value="value"/> > </html:select> > > robert > > > -----Original Message----- > > From: Sonam Belbase [mailto:[EMAIL PROTECTED] > > Sent: Monday, October 13, 2003 2:38 PM > > To: Struts Users Mailing List > > Subject: Re: form properties and <html:options > with collection > > > > > > It's working now. > > > > I added a <bean:define> to define the bean which represents my > > collection of > > objects. I believe this is required in order to find the bean > > specified by the > > value > > of the collection attribute in the <html:options collection> tag. > > > > Thanks for your help Robert. > > > > SB > > > > Robert Taylor wrote: > > > > > If you continue to forward, it shouldn't. But if you redirect anywhere > > > in the chain, then that data is gone. > > > > > > Double check your attribute name spelling in your code and config file. > > > That's tripped me up before. > > > > > > robert > > > > > > > -----Original Message----- > > > > From: Sonam Belbase [mailto:[EMAIL PROTECTED] > > > > Sent: Monday, October 13, 2003 1:46 PM > > > > To: Struts Users Mailing List > > > > Subject: Re: form properties and <html:options > with collection > > > > > > > > > > > > > > > > Robert, > > > > > > > > In my action, on success I forward the request to a tiles > > > > definition called > > > > content.addNewName, which in return calls another definition. > > Could the > > > > data be lost because of this? > > > > > > > > <action path="/journalSetType" > > > > type="com.msdw.libra.ae.actions.selectNewName" > > > > name="newNameForm" > > > > scope="request"> > > > > <forward name="success" path="content.addNewName"/> > > > > </action> > > > > > > > > > > > > -SB > > > > > > > > Robert Taylor wrote: > > > > > > > > > Make sure you aren't redirecting the request, but rather > forwarding. > > > > > If you redirect (which I suspect your are doing) and the form is > > > > > in the request scope, then you will lose all data set in the form. > > > > > > > > > > robert > > > > > > > > > > > -----Original Message----- > > > > > > From: Sonam Belbase [mailto:[EMAIL PROTECTED] > > > > > > Sent: Monday, October 13, 2003 12:49 PM > > > > > > To: Struts Users Mailing List > > > > > > Subject: form properties and <html:options > with collection > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > What is the best way of setting a Java Collection which holds > Java > > > > > > Objects > > > > > > as a property of the form, and retrieving the Object and it's > > > > properties > > > > > > > > > > > > on a JSP? > > > > > > > > > > > > I've tried it as such but have not been successful: > > > > > > > > > > > > In my action, I have created a list called "myList" which > > > > holds objects > > > > > > of type "myClass". > > > > > > "myClass" has an attribute "name" and a getter method > > > > "getName". In the > > > > > > action I set the list > > > > > > as a property of a DynaValidatorForm: > > > > > > > > > > > > form.set("availableNamesList", myList ); > > > > > > > > > > > > In struts-config: > > > > > > <form-bean name="newNameForm" > > > > > > type="org.apache.struts.validator.DynaValidatorForm"> > > > > > > <form-property name="selectedName" > type="java.lang.String"/> > > > > > > <form-property name="availableNamesList" > > type="java.util.List"/> > > > > > > </form-bean> > > > > > > > > > > > > In the JSP: > > > > > > <html:form action="/addNewName" > > > > > > > <html:select property="selectedName" size="5" > > > > multiple="false"> > > > > > > > > > > > > <html:options collection="availableNamesList" > > > > > > property="name" /> > > > > > > </html:select> > > > > > > </html:form> > > > > > > > > > > > > This results in the error: [ServletException > > > > in:/jsp/newName.jsp] Cannot > > > > > > find bean under name availableNamesList' > > > > > > > > > > > > If I put the list in session scope in my action with: > > > > > > request_.getSession().setAttribute("availableNamesList", > myList); > > > > > > this works fine. > > > > > > > > > > > > I'd like to avoid having to put the list in session scope > > and I don't > > > > > > understand why just setting the list > > > > > > as a property of the form doesn't work. > > > > > > > > > > > > Any help/guidance would be appreciated. > > > > > > > > > > > > Thanks, > > > > > > SB -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]