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

Lukasz Lenart updated WW-3571:
------------------------------
    Fix Version/s: 7.0.0
                       (was: 6.1.0)

> Anchor tag is providing a default value for href attribute when it should not
> -----------------------------------------------------------------------------
>
>                 Key: WW-3571
>                 URL: https://issues.apache.org/jira/browse/WW-3571
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.1.8, 2.2.1.1
>            Reporter: James House
>            Assignee: Maurizio Cucchiara
>            Priority: Major
>             Fix For: 7.0.0
>
>
> The Anchor tag is providing a default value for href attribute when it should 
> not.
> Previous versions of Struts2 did not do this, and in fact the documentation 
> for the tag also says there is no default value.
> However it is placing a default value of the current URL, rather than leaving 
> the href attribute off altogether.  (it is legal per HTML to not have an href 
> attribute, and in fact we had existing code that was trying to purposely 
> leave it off, but now instead of being left off, it is rendered with the 
> current URL).
> I believe the problem was introduced with the changes related to WW-3037.   
> This block of code (from Anchor.java) precisely:
> {code}
>     @Override
>     protected void evaluateExtraParams() {
>         super.evaluateExtraParams();
>         if (href != null)
>             addParameter("href", 
> ensureAttributeSafelyNotEscaped(findString(href)));
>         else {
>             //no href, build it from URL attributes
>             StringWriter sw = new StringWriter();
>             urlRenderer.beforeRenderUrl(urlProvider);
>             urlRenderer.renderUrl(sw, urlProvider);
>             String builtHref = sw.toString();
>             if (StringUtils.isNotEmpty(builtHref))
>                 addParameter("href", 
> ensureAttributeSafelyNotEscaped(builtHref));
>         }
>     }
> {code}
> To preserve documented and previous functionality of allowing href to not be 
> rendered in the tag, the entire "else" block should be removed (of course 
> that significantly negates WW-3037 - which apparently didn't think about the 
> fact that it is legit to not have an href for the anchor).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to