Hi Yasser, Even after having the param the ArrayList<Long> was not populated with -1 for unchecked checkboxes. The ArrayList<Long> 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.
<interceptor-ref name="scope"> <param name="key"></param> <param name="session">form</param> </interceptor-ref> <interceptor-ref name="defaultStack"> <param name="checkbox.uncheckedValue">-1</param> </interceptor-ref> 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]: > > <action name="ListConverterTest" class="com.afs.ListConverterTestAction"> > <interceptor-ref name="defaultStack"> > <param name="checkbox.uncheckedValue">-1</param> > </interceptor-ref> > > 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 <ppas...@pangburngroup.com> >> 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 <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. >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org >