[
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.