That's great! Thanks for sharing.
Next time I'll know how to do it. Luckily you proved to be more determined and finally solved it. Congratulations!
Nidel, Mike wrote:
The good news is that this DOES work.
I simply declared my methods to be
public void setFoo(String key, String[] foos) { ... }
public String[] getFoo(String key) { ... }
and everything works fine. It took a detour through the Struts source (and ultimately from there through the beanutils source) to figure this out, but the problem was essentially that when doing the bean introspection, the beanutils first finds the getFoo() method and stores its return type. It then looks for a setFoo() method with the same argument type as the return type of getFoo(). If you try to return foo as an Object, it just won't work -- your setter won't be found and the method will never be called.
thanks for the input,
Mike
-----Original Message----- From: Radu Badita [mailto:[EMAIL PROTECTED] Sent: Monday, March 07, 2005 11:10 AM To: Struts Users Mailing List Subject: RE: map-backed forms with multibox/multiselect lists?
I had the same problem some time ago (the solution vaguely suggested by Jack wouldn't had been an option since the properties were dynamic so I needed the key to distinguish between them). I asked on this list for help at that time, but didn't got an answer, so I guess nobody succeeded in doing something like this. Therefore I had to find some other solution to my problem...
I'm guessing this might be some sort of a problem with commons-binutils (although public void setFoos(String key, String[] foos) isn't a valid javabeans setter so maybe it's just a bit out of it's scope).
At 16:44 07.03.2005, you wrote:
---------------------------------------------------------------------This works fine for list-backed form items (which we also use) but in this case I need something like
public void setFoos(String key, String[] foos)
is this possible?
There are several workarounds I can think of, but this appears to be the cleanest solution if I can make it work.
Mike
-----Original Message----- From: Dakota Jack [mailto:[EMAIL PROTECTED] Sent: Monday, March 07, 2005 9:42 AM To: Struts Users Mailing List Subject: Re: map-backed forms with multibox/multiselect lists?
public void setFoos(String [] foos)
On Fri, 4 Mar 2005 18:55:53 +0000 (UTC), Mike Nidel
<[EMAIL PROTECTED]> wrote:
I'm trying to build a form element that combines thefeatures of a map-backed
property with a multibox (and the same for amultiple-selection list). I've made
multiboxes work fine without the map-backed element, but Ican't seem to get
to no avail. Forthis to work.
I've tried various method signatures in my form bean, but
result in a list of theexample, for a field called "foo" I have tried the following:
public void setFoo(String key, Object val) { ... }
or
public void setFoo(String key, String[] val) { ... }
I'm using a set of checkboxes on the JSP which should
values of whichever boxes are selected. I can think of anumber of javascript
workarounds, as well as workarounds in my Action that godirectly to the request
parameters... but all of those are kludges and it seemslike there should be a
way to have multiple checkboxes that all reference amap-backed form property.
Any thoughts?
thanks a bunch,
Mike Nidel
---------------------------------------------------------------------To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~
---------------------------------------------------------------------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]