You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Johannes Geppert (JIRA)" <ji...@apache.org> on 2011/06/27 11:18:47 UTC

[jira] [Commented] (WW-3569) s:radio does not select the right option on reading the value

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

Johannes Geppert commented on WW-3569:
--------------------------------------

The nameValue was already assigned in the UIBean Component.

        if (parameters.containsKey("value")) {
            parameters.put("nameValue", parameters.get("value"));
        } else {
            if (evaluateNameValue()) {
                final Class valueClazz = getValueClassType();

                if (valueClazz != null) {
                    if (value != null) {
                        addParameter("nameValue", findValue(value, valueClazz));
                    } else if (name != null) {
                        String expr = completeExpressionIfAltSyntax(name);

                        addParameter("nameValue", findValue(expr, valueClazz));
                    }
                } else {
                    if (value != null) {
                        addParameter("nameValue", findValue(value));
                    } else if (name != null) {
                        addParameter("nameValue", findValue(name));
                    }
                }
            }
        }



> s:radio does not select the right option on reading the value
> -------------------------------------------------------------
>
>                 Key: WW-3569
>                 URL: https://issues.apache.org/jira/browse/WW-3569
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Tags
>    Affects Versions: 2.2.1
>         Environment: Windows, Glassfish, Maven, Struts, Spring and Tiles
>            Reporter: John Dondapati
>            Priority: Minor
>              Labels: nameValue, s:radio
>
> The template.simple.radiomap.ftl has the following code to check if the name expression value contains itemKeyString but the parameters.nameValue does not exist. 
> <#if parameters.name??>
>  name="${parameters.name?html}" nmv="${nameValue?html} <#rt/>
> </#if>
>  id="${parameters.id?html}${itemKeyStr?html}" <#rt/>
> <#if tag.contains(parameters.nameValue?default(''), itemKeyStr)> 
>  checked="checked" <#rt/>
> </#if>
> Replace this part of the file with the following and it seems to work fine as we now assign a variable with name "nameValue" with value from the el in parameters.name. Then check against itemKeyStr using this value to select that option for the radio group.
> <#if parameters.name??>
> <#--/*add this line*/-->
>         <#assign nameValue = stack.findString(parameters.name)/> 
>  name="${parameters.name?html}" nmv="${nameValue?html} <#rt/>
> </#if>
>  id="${parameters.id?html}${itemKeyStr?html}" <#rt/>
> <#--/*remove this line*/-->
> <#if tag.contains(parameters.nameValue?default(''), itemKeyStr)> 
> <#--/*add this line*/-->
> <#if tag.contains(nameValue, itemKeyStr) == true> 
>  checked="checked" <#rt/>
> </#if>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira