Re: Struts2 Checkboxlist

2019-02-06 Thread Prasanth Pasala
I think the issue I am having is due to the theme, I had old checkboxlist.ftl 
code. Once it is updated to the latest code it is working well. The only change 
I make in it is show each checkbox in a
separate line.

Appreciate all the help.

Thanks,
Prasanth

On 2/6/19 9:31 AM, Prasanth Pasala wrote:
> So there is no need to add MultiselectInterceptor in the action definition?
>
> Below is the checkboxlist in the jsp. accountNames map is in the account to 
> provide the list values and names.
>
>  listValue="%{value}" theme="tpg" >
>
> Thanks,
> Prasanth
>
> On 2/6/19 8:53 AM, Yasser Zamani wrote:
>> Ach! Sorry, you're right. For checkbox list it's MultiselectInterceptor 
>> class which handles this and here it works with following config:
>>
>>  List selectedLongs= new ArrayList<>();
>>  public List getLongs(){
>>  List longs= new ArrayList<>();
>>  longs.add(0L);
>>  longs.add(1L);
>>  return longs;
>>  }
>>  public void setSelectedLongs(List selectedLongs){
>>  this.selectedLongs = selectedLongs;
>>  }
>>  public List getSelectedLongs(){
>>  return selectedLongs;
>>  }
>>
>>  >  tooltip="longs test"
>>  label="Longs Test"
>>  list="longs"
>>  name="selectedLongs"
>>  value="selectedLongs"/>
>>
>> > class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
>>  /WEB-INF/tags/ui/exampleSubmited.jsp
>>  /WEB-INF/tags/ui/example.jsp
>> 
>>
>>
>> When I post an empty form, MultiselectInterceptor adds an empty string for 
>> selectedLongs http param, then Struts internal conversion converts it to an 
>> empty instance of List, then setSelectedLongs will be called here with 
>> it.
>>
>> Regards.
>>
>>> -Original Message-
>>> From: Prasanth Pasala 
>>> Sent: Wednesday, February 6, 2019 12:30 AM
>>> To: user@struts.apache.org
>>> Subject: Re: Struts2 Checkboxlist
>>>
>>> Hi Yasser,
>>>
>>> Even after having the param the ArrayList was not populated with -1 
>>> for
>>> unchecked checkboxes. The ArrayList is in form. The set method in the
>>> form is not getting called when I don't check any of the checkboxes. I am 
>>> using a
>>> checkboxlist rather than individual checkboxes.
>>>
>>>             
>>>         
>>>         form
>>>     
>>>     
>>>         -1
>>>     
>>>
>>>
>>> Thanks,
>>> Prasanth
>>>
>>> On 2/5/19 5:43 AM, Yasser Zamani wrote:
 Hi Prasanth,

 Yes, I think. Now I can recall a long discussion about this at [1]. i.e. 
 you also can
>>> keep array list of long but override the interceptor like below [2]:
 >>> class="com.afs.ListConverterTestAction">
 
 -1
 

 Kind Regards.

 [1] https://github.com/apache/struts/pull/169
 [2] https://github.com/apache/struts/pull/169#issuecomment-352999309


> -Original Message-
> From: Prasanth Pasala 
> Sent: Tuesday, February 5, 2019 3:26 AM
> To: user@struts.apache.org
> Subject: Re: Struts2 Checkboxlist
>
> I am using the defaultStack but the ArrayList used for the checkboxes
> is of type Long. If we change it to ArrayList of Boolean would the
> interceptor set the values to false? Or is this only applicable if
> you have individual checkboxes rather than checkboxlist?
>
> Thanks,
> Prasanth
>
> On 2/4/19 4:29 PM, Paul Zepernick wrote:
>> Yes, setFoo is only called if the checkbox is checked.  However,
>> Struts 2 does have a checkbox interceptor:
>> https://struts.apache.org/core-developers/checkbox-interceptor.html
>>
>> This interceptor defaults checkbox Boolean's to False if the box is not
>>> checked.
> This is part of the default interceptor stack.
>> Paul
>>
>> -Original Message-
>> From: Prasanth Pasala 
>> Sent: Monday, February 4, 2019 5:21 PM
>> To: user@struts.apache.org
>> Subject: Re: Struts2 Checkboxlist
>>
>> NOTICE: This email originated from outside of the organization. Do
>> not click
> links or open attachments unless you recognize the sender and know
> the content is safe.
>> Is that how Struts2 is expected to work? Meaning setFoo would not be
>> called if
> non of the Foo checkboxes are selected? I know that is how Struts1 worked.
>> Thanks,
>> Prasanth
>>
>> On 2/2/19 7:08 PM, Prasanth Pasala wrote:
>>> Hi Yasser,
>>>
>>> When none of the checkboxes is selected the setFoo is not getting 
>>> called.
>>>
>>> Thanks
>>> Prasanth
>>>
>>> On February 2, 2019 8:02:07 AM CST, Yasser Zamani
>  wrote:
 Hi Prasanth,

 A

Re: Struts2 Checkboxlist

2019-02-06 Thread Prasanth Pasala
So there is no need to add MultiselectInterceptor in the action definition?

Below is the checkboxlist in the jsp. accountNames map is in the account to 
provide the list values and names.



Thanks,
Prasanth

On 2/6/19 8:53 AM, Yasser Zamani wrote:
> Ach! Sorry, you're right. For checkbox list it's MultiselectInterceptor class 
> which handles this and here it works with following config:
>
>   List selectedLongs= new ArrayList<>();
>   public List getLongs(){
>   List longs= new ArrayList<>();
>   longs.add(0L);
>   longs.add(1L);
>   return longs;
>   }
>   public void setSelectedLongs(List selectedLongs){
>   this.selectedLongs = selectedLongs;
>   }
>   public List getSelectedLongs(){
>   return selectedLongs;
>   }
>
>  tooltip="longs test"
>   label="Longs Test"
>   list="longs"
>   name="selectedLongs"
>   value="selectedLongs"/>
>
>  class="org.apache.struts2.showcase.UITagExample" method="doSubmit">
>   /WEB-INF/tags/ui/exampleSubmited.jsp
>   /WEB-INF/tags/ui/example.jsp
> 
>
>
> When I post an empty form, MultiselectInterceptor adds an empty string for 
> selectedLongs http param, then Struts internal conversion converts it to an 
> empty instance of List, then setSelectedLongs will be called here with 
> it.
>
> Regards.
>
>> -Original Message-
>> From: Prasanth Pasala 
>> Sent: Wednesday, February 6, 2019 12:30 AM
>> To: user@struts.apache.org
>> Subject: Re: Struts2 Checkboxlist
>>
>> Hi Yasser,
>>
>> Even after having the param the ArrayList was not populated with -1 for
>> unchecked checkboxes. The ArrayList is in form. The set method in the
>> form is not getting called when I don't check any of the checkboxes. I am 
>> using a
>> checkboxlist rather than individual checkboxes.
>>
>>             
>>         
>>         form
>>     
>>     
>>         -1
>>     
>>
>>
>> Thanks,
>> Prasanth
>>
>> On 2/5/19 5:43 AM, Yasser Zamani wrote:
>>> Hi Prasanth,
>>>
>>> Yes, I think. Now I can recall a long discussion about this at [1]. i.e. 
>>> you also can
>> keep array list of long but override the interceptor like below [2]:
>>> >> class="com.afs.ListConverterTestAction">
>>> 
>>> -1
>>> 
>>>
>>> Kind Regards.
>>>
>>> [1] https://github.com/apache/struts/pull/169
>>> [2] https://github.com/apache/struts/pull/169#issuecomment-352999309
>>>
>>>
 -Original Message-
 From: Prasanth Pasala 
 Sent: Tuesday, February 5, 2019 3:26 AM
 To: user@struts.apache.org
 Subject: Re: Struts2 Checkboxlist

 I am using the defaultStack but the ArrayList used for the checkboxes
 is of type Long. If we change it to ArrayList of Boolean would the
 interceptor set the values to false? Or is this only applicable if
 you have individual checkboxes rather than checkboxlist?

 Thanks,
 Prasanth

 On 2/4/19 4:29 PM, Paul Zepernick wrote:
> Yes, setFoo is only called if the checkbox is checked.  However,
> Struts 2 does have a checkbox interceptor:
> https://struts.apache.org/core-developers/checkbox-interceptor.html
>
> This interceptor defaults checkbox Boolean's to False if the box is not
>> checked.
 This is part of the default interceptor stack.
> Paul
>
> -Original Message-
> From: Prasanth Pasala 
> Sent: Monday, February 4, 2019 5:21 PM
> To: user@struts.apache.org
> Subject: Re: Struts2 Checkboxlist
>
> NOTICE: This email originated from outside of the organization. Do
> not click
 links or open attachments unless you recognize the sender and know
 the content is safe.
> Is that how Struts2 is expected to work? Meaning setFoo would not be
> called if
 non of the Foo checkboxes are selected? I know that is how Struts1 worked.
> Thanks,
> Prasanth
>
> On 2/2/19 7:08 PM, Prasanth Pasala wrote:
>> Hi Yasser,
>>
>> When none of the checkboxes is selected the setFoo is not getting called.
>>
>> Thanks
>> Prasanth
>>
>> On February 2, 2019 8:02:07 AM CST, Yasser Zamani
  wrote:
>>> Hi Prasanth,
>>>
>>> AFAIK this tag is like this:
>>>
>>> 
>>>
>>> It calls getBar method of your action or finds bar in value stack
>>> to find out what to display. Same for baz to find out which to be
>>> selected. Then it calls yourAction.setFoo to post selected items. i.e.
>>> it is up to you what you do with it in setFoo method. Normally you
>>> should clear baz and fill it with them again to update selected items.
>>>
>>> Thanks for using Struts!
>>>

RE: Struts2 Checkboxlist

2019-02-06 Thread Yasser Zamani
Ach! Sorry, you're right. For checkbox list it's MultiselectInterceptor class 
which handles this and here it works with following config:

List selectedLongs= new ArrayList<>();
public List getLongs(){
List longs= new ArrayList<>();
longs.add(0L);
longs.add(1L);
return longs;
}
public void setSelectedLongs(List selectedLongs){
this.selectedLongs = selectedLongs;
}
public List getSelectedLongs(){
return selectedLongs;
}




/WEB-INF/tags/ui/exampleSubmited.jsp
/WEB-INF/tags/ui/example.jsp



When I post an empty form, MultiselectInterceptor adds an empty string for 
selectedLongs http param, then Struts internal conversion converts it to an 
empty instance of List, then setSelectedLongs will be called here with it.

Regards.

>-Original Message-
>From: Prasanth Pasala 
>Sent: Wednesday, February 6, 2019 12:30 AM
>To: user@struts.apache.org
>Subject: Re: Struts2 Checkboxlist
>
>Hi Yasser,
>
>Even after having the param the ArrayList was not populated with -1 for
>unchecked checkboxes. The ArrayList is in form. The set method in the
>form is not getting called when I don't check any of the checkboxes. I am 
>using a
>checkboxlist rather than individual checkboxes.
>
>            
>        
>        form
>    
>    
>        -1
>    
>
>
>Thanks,
>Prasanth
>
>On 2/5/19 5:43 AM, Yasser Zamani wrote:
>> Hi Prasanth,
>>
>> Yes, I think. Now I can recall a long discussion about this at [1]. i.e. you 
>> also can
>keep array list of long but override the interceptor like below [2]:
>>
>> > class="com.afs.ListConverterTestAction">
>> 
>> -1
>> 
>>
>> Kind Regards.
>>
>> [1] https://github.com/apache/struts/pull/169
>> [2] https://github.com/apache/struts/pull/169#issuecomment-352999309
>>
>>
>>> -Original Message-
>>> From: Prasanth Pasala 
>>> Sent: Tuesday, February 5, 2019 3:26 AM
>>> To: user@struts.apache.org
>>> Subject: Re: Struts2 Checkboxlist
>>>
>>> I am using the defaultStack but the ArrayList used for the checkboxes
>>> is of type Long. If we change it to ArrayList of Boolean would the
>>> interceptor set the values to false? Or is this only applicable if
>>> you have individual checkboxes rather than checkboxlist?
>>>
>>> Thanks,
>>> Prasanth
>>>
>>> On 2/4/19 4:29 PM, Paul Zepernick wrote:
 Yes, setFoo is only called if the checkbox is checked.  However,
 Struts 2 does have a checkbox interceptor:
 https://struts.apache.org/core-developers/checkbox-interceptor.html

 This interceptor defaults checkbox Boolean's to False if the box is not
>checked.
>>> This is part of the default interceptor stack.
 Paul

 -Original Message-
 From: Prasanth Pasala 
 Sent: Monday, February 4, 2019 5:21 PM
 To: user@struts.apache.org
 Subject: Re: Struts2 Checkboxlist

 NOTICE: This email originated from outside of the organization. Do
 not click
>>> links or open attachments unless you recognize the sender and know
>>> the content is safe.
 Is that how Struts2 is expected to work? Meaning setFoo would not be
 called if
>>> non of the Foo checkboxes are selected? I know that is how Struts1 worked.
 Thanks,
 Prasanth

 On 2/2/19 7:08 PM, Prasanth Pasala wrote:
> Hi Yasser,
>
> When none of the checkboxes is selected the setFoo is not getting called.
>
> Thanks
> Prasanth
>
> On February 2, 2019 8:02:07 AM CST, Yasser Zamani
>>>  wrote:
>> Hi Prasanth,
>>
>> AFAIK this tag is like this:
>>
>> 
>>
>> It calls getBar method of your action or finds bar in value stack
>> to find out what to display. Same for baz to find out which to be
>> selected. Then it calls yourAction.setFoo to post selected items. i.e.
>> it is up to you what you do with it in setFoo method. Normally you
>> should clear baz and fill it with them again to update selected items.
>>
>> Thanks for using Struts!
>>
>> Kind Regards.
>>
>>> -Original Message-
>>> From: Prasanth 
>>> Sent: Saturday, February 2, 2019 1:08 AM
>>> To: user@struts.apache.org
>>> Subject: Struts2 Checkboxlist
>>>
>>> Hi,
>>>
>>> I am using a checkboxlist on a jsp page which corresponds to a
>> ArrayList in the
>>> form class, which is used to store form data from a multi page wizard.
>> I am using
>>> scope interceptor to store the form class in session so that the
>>> data
>> persists as
>>> the user navigates the wizard. When the user selects some check
>>> boxes
>> it is
>>> correctly populated in the form class but if the user navigates
>>> back
>> in the wizard
>>> and unchecks the check box (non of the check