struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Greg Huber (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (WW-3920) AnchorHandler does not render onclick() correctly
Date Fri, 31 May 2013 07:44:20 GMT

    [ 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

Mime
View raw message