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