Hi, could you send pieces of your code? It still doesn't work for me ;O( Thanks, Martin
Vincent Berruchon wrote: > No exception if you replace your ArrayList by a String[] (for the > properties used by the select tag). > > > Vincent Berruchon wrote: > >> I get a "BeanUtils.populate() exception" when a form with a multiple >> select is posted (with struts 1.0.2, Martin reported this Bug a few >> days ago - bugzilla bug id #: 13075) : >> "javax.servlet.ServletException: BeanUtils.populate >> at >> org.apache.struts.util.RequestUtils.populate(RequestUtils.java:774) >> ..." >> >> I don't know if it can have a link, but I'm not sure to understand >> this warning about the "select" tag ( in >> webapps/struts-documentation/struts-html.html#select): >> - >> WARNING: In order to correctly recognize cases where no selection at >> all is made, the ActionForm bean associated with this form must >> include a statement resetting the scalar property to a default value >> (if multiple is not set), or the array property to zero length (if >> multiple is set) in the reset() method. >> - >> >> So in my formBean, in the reset() method I've put: >> " this.selectedValues = new ArrayList(); " >> instead of >> "this.selectedValues = null; " >> >> But I'm not sure it really respect the warning?? >> What mean "a zero length ArrayList": >> not null I suppose... >> should I use the other constructor : "new ArrayList(0)" ? >> >> This is the first point. >> But in fact, all that got no influence on this populate exception >> with multiple select. >> Is there another way to do with a "multiple select"? >> >> Thanks >> Vincent >> >> Martin Grebac wrote: >> >>> Hi, >>> so here is the Bugid: >>> >>> >>> 13075 >>> >>> . May I expect something's gonna happen with it, or will it die in >>> the deeps of the bug database ;O)) >>> >>> Martin >>> >>> >>> Martin Grebac wrote: >>> >>>> Yes, I built everything anew, and also restarted server. I forgot >>>> to mention I'm using Struts 1.0.2 (but I think it's not relevant). >>>> Since Mohan has almost the same problem and everything we are using >>>> seems to be OK for you, and also according to the documentation it >>>> should work, I assume this is a bug. I'm gonna enter it into >>>> bugzilla, but it's rather serious for me, because I don't have any >>>> workaround for that. >>>> Martin >>>> >>>> [EMAIL PROTECTED] wrote: >>>> >>>>> What you have there looks right, so silly question (maybe): have >>>>> you reloaded the web application after recompiling the >>>>> ModulePathForm class? >>>>> >>>>> - Thorsten >>>>> >>>>> >>>>> >>>>>> -----Original Message----- >>>>>> From: Martin Grebac [mailto:[EMAIL PROTECTED]] >>>>>> Sent: 27 September 2002 13:32 >>>>>> To: Struts Users Mailing List >>>>>> Subject: Re: again ArrayList and javax.servlet.ServletException: >>>>>> BeanUtils .populate exception >>>>>> >>>>>> >>>>>> No, it doesn't work also. I get the same exception everytime. >>>>>> >>>>>> I want to have the possibility to select multiple folders, so I >>>>>> did what you suggested: added property selectedFolders of type >>>>>> String[], so I added this code to my ModulePathForm: >>>>>> >>>>>> private String[] selectedFolders; >>>>>> >>>>>> public String getSelectedFolders(int index) { >>>>>> return this.selectedFolders[index]; >>>>>> } >>>>>> public String[] getSelectedFolders() { >>>>>> return this.selectedFolders; >>>>>> } >>>>>> public void setSelectedFolders(int index, String >>>>>> selectedFolders) { >>>>>> this.selectedFolders[index] = selectedFolders; >>>>>> } >>>>>> public void setSelectedFolders(String[] selectedFolders) { >>>>>> this.selectedFolders = selectedFolders; >>>>>> } >>>>>> >>>>>> and the jsp page looks the same as you wrote: >>>>>> >>>>>> <html:select property="selectedFolders" multiple="true"> >>>>>> <html:options property="folders"/> >>>>>> </html:select> >>>>>> >>>>>> I really don't know where is the problem. Really appreciate any >>>>>> other hints. >>>>>> >>>>>> Thanks, >>>>>> Martin >>>>>> >>>>>> >>>>>> >>>>>> [EMAIL PROTECTED] wrote: >>>>>> >>>>>> >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I think the problem is that your <html:select...> and >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> <html:options...> tags both reference the "folders" property. >>>>>> Judging by your code, the <html:options...> tag is doing what you >>>>>> expect i.e. getting the list of folders the user can select from. >>>>>> However, your <html:select...> tag is telling Struts to try to >>>>>> assign the selected folder back to the form bean by calling >>>>>> setFolders (albeit indirectly via BeanUtils.populate), but >>>>>> setFolders is expecting an ArrayList rather than a single item >>>>>> from a list which your submit is sending back as a String. >>>>>> >>>>>> >>>>>>> I suspect what you need to do is introduce an additional >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> property called e.g. selectedFolder into your form bean. Your jsp >>>>>> would then look like this: >>>>>> >>>>>> >>>>>>> <html:select property="selectedFolder" multiple="true"> >>>>>>> <html:options property="folders"/> >>>>>>> </html:select> >>>>>>> >>>>>>> ...and you will need corresponding setter and getter methods >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> in the bean. You can then also have getSelectedFolder() return a >>>>>> default value. >>>>>> >>>>>> >>>>>>> Regards, >>>>>>> Thorsten >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi, >>>>>>>> I'm looking for any hint or advice. I've got code like this on >>>>>>>> my jsp page: >>>>>>>> >>>>>>>> <html:select property="folders" multiple="true"> >>>>>>>> <html:options property="folders"/> >>>>>>>> </html:select> >>>>>>>> >>>>>>>> property "folders" is a property of my "ModulePathForm" bean: >>>>>>>> >>>>>>>> /* ModulePathForm.java */ >>>>>>>> public class ModulePathForm extends ActionForm{ >>>>>>>> >>>>>>>> private ArrayList folders; >>>>>>>> >>>>>>>> public ModulePathForm() { >>>>>>>> super(); >>>>>>>> folders = new ArrayList(); >>>>>>>> } >>>>>>>> >>>>>>>> public ArrayList getFolders() { >>>>>>>> return this.folders; >>>>>>>> } >>>>>>>> >>>>>>>> public void setFolders(ArrayList folders) { >>>>>>>> this.folders = folders; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> the values from the bean are shown, but when I click Submit, I >>>>>>>> get this exception: >>>>>>>> >>>>>>>> javax.servlet.ServletException: BeanUtils.populate >>>>>>>> at >>>>>>>> org.apache.struts.util.RequestUtils.populate(RequestUtils.java:774) >>>>>>>> >>>>>>>> at >>>>>>>> org.apache.struts.action.ActionServlet.processPopulate(ActionS >>>>>>>> ervlet.java:2061) >>>>>>>> at >>>>>>>> org.apache.struts.action.ActionServlet.process(ActionServlet.j >>>>>>>> ava:1563) >>>>>>>> at org.apache.struts.action.ActionServlet.doPost(ActionServlet. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> java:509) >>>>>> >>>>>> >>>>>>>> ..... >>>>>>>> root cause: >>>>>>>> >>>>>>>> java.lang.IllegalArgumentException: argument type mismatch >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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]> >>>>> >>>>> >>>> >>>> >>>> -- >>>> 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]> >> >> >> > > > > -- > 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]>

