[
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.2.0
(was: 7.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.2.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)