You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by thinair <ch...@edu.hefr.ch> on 2008/06/03 23:20:29 UTC
[Struts2] dynamic checkbox "list"
hello,
I spend a lot of time to make a checkbox list work and try the following :
1. <s:iteration + <s:checkbox with a map / and with a list, (IT works well
with texfield !, but not with checkbox), all the code is explain there
2. <s:checkboxlist with a map / list, I didn't put the code , do you have a
working solution ?
For me no solution works!
Could you give me a proper working sample.
My code for <s:iteration + <s:checkbox :
the jsp page :
<s:iterator value="affectMap" status="status">
<s:textfield name="affectMap[%{#status.index}]"
value="%{value}" label="%{key}" labelposition="left" />
</s:iterator>
To load the page I use the following code (the loading works !):
//build the list with key and value
affectMap.put(key, value); //key = String, value = true (string) or false
(string)
+getAffectMap/setAffectMap
To save the result after the user click submit :
int i = affectMap.size(); //size is correct !
Collection test = affectMap.values();
String[] object = null;
for (Iterator iterator = test.iterator(); iterator.hasNext();) {
object = (String[]) iterator.next(); (ERROR HERE)
String s = object[0];
System.out.println(s);
}
In case I use a texfield, it works !
But in case of a checkbox, I have got at saving an error of type :
java.lang.String cannot be cast to [Ljava.lang.String;
If I change the String[] to String. The error is the opposite :
[Ljava.lang.String; cannot be cast to java.lang.String
Could you help me ?
thanks in advance,
--
View this message in context: http://www.nabble.com/-Struts2--dynamic-checkbox-%22list%22-tp17633987p17633987.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: [Struts2] dynamic checkbox "list"
Posted by norken76 <na...@yahoo.com>.
Hello,
I have hopefully an answer and a question for you.
first the answer :
I got the list of checkboxes working by using the "fieldValvue" attribute of
<s:checkbox ...
you need to have a setter that gets called from the "name" attribute which
takes a String[] argument.
this argument will contain all the checkboxes that are set (checked) after
the submit.
Now the Question :
I am trying to get the textfield list working (in parallel to the check
boxes) but couldn't ??
the function I set to be called is never called after the submit.
I know that the values in the textfiels are sent, and the setter function
for the Checkboxes is called but not the function for the textfields ??? I
assument that this setter should have String[] for argument as well ?
thank you
Christian Wiederseiner wrote:
>
> hello,
>
> I spend a lot of time to make a checkbox list work and try the following :
>
> 1. <s:iteration + <s:checkbox with a map / and with a list, (IT works well
> with texfield !, but not with checkbox), all the code is explain there
>
> 2. <s:checkboxlist with a map / list, I didn't put the code , do you have
> a working solution ?
>
> For me no solution works!
>
> Could you give me a proper working sample.
> My code for <s:iteration + <s:checkbox :
>
> the jsp page :
> <s:iterator value="affectMap" status="status">
> <s:textfield name="affectMap[%{#status.index}]"
> value="%{value}" label="%{key}" labelposition="left" />
> </s:iterator>
>
>
>
>
> To load the page I use the following code (the loading works !):
>
> //build the list with key and value
> affectMap.put(key, value); //key = String, value = true (string) or false
> (string)
>
> +getAffectMap/setAffectMap
>
>
>
>
> To save the result after the user click submit :
>
> int i = affectMap.size(); //size is correct !
> Collection test = affectMap.values();
>
> String[] object = null;
> for (Iterator iterator = test.iterator(); iterator.hasNext();) {
> object = (String[]) iterator.next(); (ERROR HERE)
> String s = object[0];
> System.out.println(s);
>
> }
>
> In case I use a texfield, it works !
> But in case of a checkbox, I have got at saving an error of type :
> java.lang.String cannot be cast to [Ljava.lang.String;
>
> If I change the String[] to String. The error is the opposite :
> [Ljava.lang.String; cannot be cast to java.lang.String
>
>
> Could you help me ?
>
> thanks in advance,
>
>
>
>
--
View this message in context: http://www.nabble.com/-Struts2--dynamic-checkbox-%22list%22-tp17633987p21148600.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org