<s:if> inside <s:url> is not being processed -- entire conditional is ignored.
------------------------------------------------------------------------------

                 Key: WW-3375
                 URL: https://issues.apache.org/struts/browse/WW-3375
             Project: Struts 2
          Issue Type: Bug
          Components: Plugin - Tags
    Affects Versions: 2.1.8
         Environment: Glassfish v2.1.1
            Reporter: Sam Sorrell
            Priority: Minor


When an "if" tag is placed within a "url" tag, the "if" tag is completely 
ignored.  For the following example the resulting url will not have a "page" 
parameter regradless of the value of "parameter". 

    <s:url id="myHelpUrl" action="myHelpAction" namespace="/myNamespace">
        <s:param name="section" value="%{'Section'}"/>
        <s:param name="component" value="%{'Component'}"/>
        <s:if test="%{bean.primaryKey != null">
            <s:param name="page" value="%{'Update'}"/>
        </s:if>
        <s:else>
            <s:param name="page" value="%{'Add'}"/>
        </s:else>
    </s:url>

By contrast, the following less concise version has the "page" parameter:

<s:if test="%{bean.primaryKey != null}">
    <s:url id="myHelpUrl" action="myHelpAction" namespace="/myNamespace">
        <s:param name="section" value="%{'Section'}"/>
        <s:param name="component" value="%{'Component'}"/>
        <s:param name="page" value="%{'Update'}"/>
    </s:url>
</s:if>
<s:else>
    <s:url id="myHelpUrl" action="myHelpAction" namespace="/myNamespace">
        <s:param name="section" value="%{'Section'}"/>
        <s:param name="component" value="%{'Component'}"/>
        <s:param name="page" value="%{'Add'}"/>
    </s:url>
</s:else>



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