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 <ppas...@pangburngroup.com>
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 <yasserzam...@apache.org> 
> wrote:
>> Hi Prasanth,
>>
>> AFAIK this tag is like this:
>>
>> <s:checkboxlist name="foo" list="bar" value="baz"/>
>>
>> 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 <dbad...@pangburngroup.com>
>>> 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 boxes selected) struts
>> doesn't set
>>> the ArrayList to empty. It will still contain the old selection.
>>> What
>> is the best way
>>> to solve this issue?
>>>
>>> My Options:
>>> 1. Should I use Preparable and set this ArrayList to empty? Since
>>> this
>> is a wizard
>>> (multiple pages submitting to the same action) have to make sure it
>>> is
>> done only
>>> when submitting the page that have these checkboxes.
>>> 2. Create two separate ArrayLists, one to get values from Struts and
>> another to
>>> save the original selection and clear the first array list. Down
>>> side
>> is I need to
>>> populate the list linked to the form when user navigates back to
>>> that
>> page.
>>> Neither of them seem elegant. Is there a way to make struts set the
>> ArrayList to
>>> empty when user doesn't select any check box?
>>>
>>> Using Struts 2.3.35
>>>
>>> Thanks,
>>> Prasanth
>> ---------------------------------------------------------------------
>> To unsubscribe, e-m

Disclaimer: This communication and any files transmitted with it may contain 
information that is privileged, confidential and/or exempt from disclosure 
under applicable law. If you are not the intended recipient, you are hereby 
notified that any disclosure, copying, distribution, or use of the information 
contained herein (including any reliance thereon) is strictly prohibited. If 
you received this communication in error, please immediately contact the sender 
and destroy the material in its entirety, whether in electronic or hard copy 
format. Thank you.

Reply via email to