You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/01/21 22:47:14 UTC
svn commit: r1436637 - in /struts/struts2/trunk/plugins/javatemplates/src:
main/java/org/apache/struts2/views/java/simple/AnchorHandler.java
test/java/org/apache/struts2/views/java/simple/AnchorTest.java
Author: lukaszlenart
Date: Mon Jan 21 21:47:13 2013
New Revision: 1436637
URL: http://svn.apache.org/viewvc?rev=1436637&view=rev
Log:
WW-3920 adds support for scripting events
Modified:
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/AnchorHandler.java
struts/struts2/trunk/plugins/javatemplates/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.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=1436637&r1=1436636&r2=1436637&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 Mon Jan 21 21:47:13 2013
@@ -20,36 +20,40 @@
*/
package org.apache.struts2.views.java.simple;
+import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.TagGenerator;
-import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.Map;
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
+ 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);
}
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/test/java/org/apache/struts2/views/java/simple/AnchorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/javatemplates/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java?rev=1436637&r1=1436636&r2=1436637&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/javatemplates/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java (original)
+++ struts/struts2/trunk/plugins/javatemplates/src/test/java/org/apache/struts2/views/java/simple/AnchorTest.java Mon Jan 21 21:47:13 2013
@@ -46,6 +46,28 @@ public class AnchorTest extends Abstract
assertEquals(expected, output);
}
+ public void testRenderScriptingEvents() {
+ tag.setName("name_");
+ tag.setOnclick("alert('click')");
+ tag.setOnchange("alert('change)");
+ tag.setOnfocus("alert('focus')");
+ tag.setOnselect("alert('select')");
+ tag.setOndblclick("alert('dbclick')");
+ tag.setOnkeydown("alert('keydown')");
+ tag.setOnkeypress("alert('keypress')");
+ tag.setHref("http://sometest.com?ab=10");
+
+ tag.evaluateParams();
+ map.putAll(tag.getParameters());
+ theme.renderTag(getTagName(), context);
+ theme.renderTag(getTagName() + "-close", context);
+ String output = writer.getBuffer().toString();
+ String expected = "<a name=\"name_\" id=\"name_\" href=\"http://sometest.com?ab=10\" onclick=\"alert('click')\" " +
+ "ondblclick=\"alert('dbclick')\" onfocus=\"alert('focus')\" onkeypress=\"alert('keypress')\" " +
+ "onkeydown=\"alert('keydown')\" onselect=\"alert('select')\" onchange=\"alert('change)\"></a>";
+ assertEquals(expected, output);
+ }
+
@Override
protected void setUp() throws Exception {
super.setUp();