struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yasser Zamani <yasserzam...@apache.org>
Subject RE: Struts2 Checkboxlist
Date Tue, 05 Feb 2019 11:43:46 GMT
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
View raw message