[
https://issues.apache.org/jira/browse/WW-3920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13671229#comment-13671229
]
Greg Huber commented on WW-3920:
--------------------------------
OK, sorry should have read the comment and checked it worked with parameters!
//all rendering must happend at the end of the tag, so we can support nested
params
Tend not to use parameters in the body as will get parameters with empty values
ie ?foo= for null values. btw is there a way to filter these out? similar to
the struts.xml <param name="suppressEmptyParameters">true</param>. The <s:if>
tags in the body are ignored.
ie possibly do something similar :
<s:a action="eventAdd" accesskey="a">
<s:text name="title.heading.eventadd" />
<s:param name="bean.searchString" value="%{bean.searchString}" />
<s:param name="bean.filter" value="%{bean.filter}" />
<s:param name="bean.pageNum" value="%{pager.pageNumber}" />
<s:param name="suppressEmptyParameters" value="true"/> <<<<<<<<<<<<<<< ????
</s:a>
It also now works with the scriting tags.
Cheers Greg
> AnchorHandler does not render onclick() correctly
> -------------------------------------------------
>
> Key: WW-3920
> URL: https://issues.apache.org/jira/browse/WW-3920
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Java Templates
> Affects Versions: 2.3.4.1
> Reporter: Greg Huber
> Assignee: Lukasz Lenart
> Priority: Minor
> Fix For: 2.3.12
>
> Attachments: patch.txt
>
>
> The sripting methods are ignored on the <a/> tag.
> It never calls the start on ScriptingEventsHandler so does not add the
> attributes.
> Have checked it with image href links, which is what I think was the reason
> it was done this way.
> {code:java}
> public class AnchorHandler extends AbstractTagHandler implements TagGenerator
> {
> public void generate() throws IOException {
> //all rendering must happend at the end of the tag, so we can support
> nested params
> // Added start
> Map<String, Object> params = context.getParameters();
> Attributes attrs = new Attributes();
> attrs.addIfExists("name", params.get("name"))
> .addIfExists("id", params.get("id"))
> .addIfExists("class", params.get("cssClass"))
> .addIfExists("style", params.get("cssStyle"))
> .addIfExists("href", params.get("href"), false)
> .addIfExists("title", params.get("title"))
> .addIfExists("tabindex", params.get("tabindex"));
> start("a", attrs);
> // added end
> }
> public static class CloseHandler extends AbstractTagHandler implements
> TagGenerator {
> public void generate() throws IOException {
> Map<String, Object> params = context.getParameters();
> // Removed
> /*Attributes attrs = new Attributes();
> attrs.addIfExists("name", params.get("name"))
> .addIfExists("id", params.get("id"))
> .addIfExists("class", params.get("cssClass"))
> .addIfExists("style", params.get("cssStyle"))
> .addIfExists("href", params.get("href"), false)
> .addIfExists("title", params.get("title"))
> .addIfExists("tabindex", params.get("tabindex"));
> start("a", attrs);*/
> // removed
> String body = (String) params.get("body");
> if (StringUtils.isNotEmpty(body))
> characters(body, false);
> end("a");
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira