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 2013/01/21 22:48:14 UTC
[jira] [Resolved] (WW-3920) AnchorHandler does not render onclick()
correctly
[ https://issues.apache.org/jira/browse/WW-3920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart resolved WW-3920.
-------------------------------
Resolution: Fixed
Assignee: Lukasz Lenart
Patch applied, thanks for reporting!
> 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.9
>
> 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