struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Prasanth Pasala <ppas...@pangburngroup.com>
Subject Re: Struts2 Checkboxlist
Date Tue, 05 Feb 2019 20:59:42 GMT
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 <ppasala@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 <ppasala@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
>> <yasserzamani@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 <dbadmin@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-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message