Author: lukaszlenart Date: Thu May 30 10:22:34 2013 New Revision: 1487806 URL: http://svn.apache.org/r1487806 Log: WW-4084 Restores appending <s:param>s to <s:a/> tag which was broken since WW-3920
Modified: struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java Modified: struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java?rev=1487806&r1=1487805&r2=1487806&view=diff ============================================================================== --- struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java (original) +++ struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java Thu May 30 10:22:34 2013 @@ -28,32 +28,28 @@ import java.io.IOException; import java.util.Map; public class AnchorHandler extends AbstractTagHandler implements TagGenerator { - public void generate() throws IOException { - 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); + //all rendering must happend at the end of the tag, so we can support nested params } public static class CloseHandler extends AbstractTagHandler implements TagGenerator { - public void generate() throws IOException { 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); String body = (String) params.get("body"); - if (StringUtils.isNotEmpty(body)) { + if (StringUtils.isNotEmpty(body)) characters(body, false); - } end("a"); } - } - } Modified: struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java?rev=1487806&r1=1487805&r2=1487806&view=diff ============================================================================== --- struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java (original) +++ struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java Thu May 30 10:22:34 2013 @@ -39,8 +39,8 @@ public class SimpleTheme extends Default put("select", new FactoryList(SelectHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); put("form", new FactoryList(FormHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); put("form-close", new FactoryList(FormHandler.CloseHandler.class)); - put("a", new FactoryList(AnchorHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); - put("a-close", new FactoryList(AnchorHandler.CloseHandler.class)); + put("a", new FactoryList(AnchorHandler.class)); + put("a-close", new FactoryList(AnchorHandler.CloseHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); put("checkbox", new FactoryList(CheckboxHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); put("file", new FactoryList(FileHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class)); put("password", new FactoryList(PasswordHandler.class, ScriptingEventsHandler.class, CommonAttributesHandler.class, DynamicAttributesHandler.class));