[ 
https://issues.apache.org/struts/browse/WW-2809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46079#action_46079
 ] 

Markus Katz commented on WW-2809:
---------------------------------

Wes,

Sorry for the inconvenience. I just posted the file that worked for me with the 
2.1.2 release. 

I tried to make a patch and build the struts source from the actual trunk but 
struggled with the maven dependencies. Besides, I´m afraid I won´t be able to 
spend the time necessary to become acquainted with your test set up at the 
moment in order to deliver a tested patch.

I´m sorry to be no greater help than to report the bug and give an idea of a 
solution.

> doubleselect ignores preselection of a multiple subselect
> ---------------------------------------------------------
>
>                 Key: WW-2809
>                 URL: https://issues.apache.org/struts/browse/WW-2809
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.1.2
>            Reporter: Markus Katz
>            Priority: Minor
>             Fix For: 2.1.7
>
>         Attachments: doubleselect.ftl
>
>
> template/simple/doubleselect.ftl contains the following snippet to preselect 
> the subselection:
>         for (i = 0; i < ${parameters.id}Group[x].length; i++) {
>             ${parameters.id}Temp.options[i] = new 
> Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
>             <#if parameters.doubleNameValue?exists>
>               if (${parameters.id}Temp.options[i].value == 
> '${parameters.doubleNameValue}') {
>                       ${parameters.id}Temp.options[i].selected = true;
>                       selected = true;
>               }
>             </#if>
>         }
> In the case of a multiple subselect the doubleNameValue is a collection of 
> ids. In this case the single ...Temp.options[i].value is compared to a 
> collection object which fails for all items.
> I´d suggest a patch like:
>         for (i = 0; i < ${parameters.id}Group[x].length; i++) {
>             ${parameters.id}Temp.options[i] = new 
> Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
>             <#if parameters.doubleNameValue?exists>
>                    <#if parameters.doubleMultiple?exists>
>                          for (j = 0; j < 
> ${parameters.doubleNameValue}.length; j++) {
>                              if (${parameters.id}Temp.options[i].value == 
> ${parameters.doubleNameValue}[j]) {
>                                ${parameters.id}Temp.options[i].selected = 
> true;
>            selected = true;
>          }
>       }
>                       <#else>
>        if (${parameters.id}Temp.options[i].value == 
> '${parameters.doubleNameValue}') {
>          ${parameters.id}Temp.options[i].selected = true;
>          selected = true;
>        }
>                       </#if>
>                  </#if>
>             }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to