You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2026/10/16 09:25:00 UTC
[jira] [Created] (WW-5783) Anchor tag should apply nested param tags to an explicit href
Lukasz Lenart created WW-5783:
---------------------------------
Summary: Anchor tag should apply nested param tags to an explicit href
Key: WW-5783
URL: https://issues.apache.org/jira/browse/WW-5783
Project: Struts 2
Issue Type: Improvement
Components: Plugin - Tags
Reporter: Lukasz Lenart
Fix For: 8.0.0
Today {{<s:a href="...">}} ignores nested {{<s:param>}} tags; they are only used when the URL is built from {{value}}/{{action}}. WW-5782 documents this and adds a devMode warning while keeping the rendered output unchanged in 7.x.
For 8.0.0, {{<s:a>}} should be a self-sufficient link builder: nested params are applied to an explicit {{href}} as well, so
{code}<s:a href="/do-it.action">
<s:param name="id" value="1"/>
</s:a>
{code}
renders {{<a href="/do-it.action?id=1">}}.
h3. Points to settle
* {{href}} that already has a query string ({{/do-it.action?x=1}}) and/or a {{#fragment}} - params must be merged before the fragment.
* {{escapeAmp}} and {{encode}} must behave as on the {{value}} path; reuse the {{UrlRenderer}} / {{UrlHelper}} param handling instead of string concatenation.
* {{href}} evaluated from a URL built by {{<s:url var="...">}} is already a complete URL, possibly with its own params; decide precedence when a nested param repeats a name.
* Remove the devMode warning added by WW-5782 and update the {{href}} attribute description and the {{Anchor}} javadoc.
h3. Compatibility
Pages that currently nest {{<s:param>}} under an explicit {{href}} will start emitting those params. Needs a migration note.
Related: WW-5782, WW-3571 (both change what {{<s:a>}} renders).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)