[ 
https://issues.apache.org/jira/browse/WW-4865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Burton Rhodes updated WW-4865:
------------------------------
    Description: 
Struts <s:checkbox> is not converted correctly to List<Integer> when only one 
checkbox element is present and checkbox is not checked.

[Given]
1) Mapping s:checkbox to a List<Integer>
2) there is only one checkbox in the list
3) the checkbox is not checked when the form is submitted.  

[Result]
Input invalid

The issue is caused by the checkbox tag using the "submit unchecked values" 
design pattern.  As a result, the code base tries to convert the value of the 
single unchecked element to false (rather than not setting any value of the 
List<Integer>).

Fix: Allow the developer to choose if the "submit unchecked values" is to be 
implemented.  Add a new parameter to the s:checkbox tag ("requiredValue").  
Default of requiredValue=true for backwards compatibility.  When set to false, 
no hidden input values will be displayed in the view.  This flexibility might 
be needed in other scenarios as well.

Pull Request:  https://github.com/apache/struts/pull/169

  was:
Struts <s:checkbox> is not converted correctly to List<Integer> when only one 
checkbox element is present and checkbox is not checked.

[Given]
1) Mapping s:checkbox to a List<Integer>
2) there is only one checkbox in the list
3) the checkbox is not checked when the form is submitted.  

[Result]
Input invalid

The issue is caused by the checkbox tag using the "submit unchecked values" 
design pattern.  As a result, the code base tries to convert the value of the 
single unchecked element to false (rather than not setting any value of the 
List<Integer>).

Fix: Allow the developer to choose if the "submit unchecked values" is to be 
implemented.  Add a new parameter to the s:checkbox tag ("requiredValue").  
Default of requiredValue=true for backwards compatibility.  When set to false, 
no hidden input values will be displayed in the view.  This flexibility might 
be needed in other scenarios as well.


> Struts s:checkbox conversion fails to List<Integer>
> ---------------------------------------------------
>
>                 Key: WW-4865
>                 URL: https://issues.apache.org/jira/browse/WW-4865
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core, Core Tags
>    Affects Versions: 2.5.13
>            Reporter: Burton Rhodes
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Struts <s:checkbox> is not converted correctly to List<Integer> when only one 
> checkbox element is present and checkbox is not checked.
> [Given]
> 1) Mapping s:checkbox to a List<Integer>
> 2) there is only one checkbox in the list
> 3) the checkbox is not checked when the form is submitted.  
> [Result]
> Input invalid
> The issue is caused by the checkbox tag using the "submit unchecked values" 
> design pattern.  As a result, the code base tries to convert the value of the 
> single unchecked element to false (rather than not setting any value of the 
> List<Integer>).
> Fix: Allow the developer to choose if the "submit unchecked values" is to be 
> implemented.  Add a new parameter to the s:checkbox tag ("requiredValue").  
> Default of requiredValue=true for backwards compatibility.  When set to 
> false, no hidden input values will be displayed in the view.  This 
> flexibility might be needed in other scenarios as well.
> Pull Request:  https://github.com/apache/struts/pull/169



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to