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/05/24 16:39:40 UTC
svn commit: r1486079 -
/struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java
Author: lukaszlenart
Date: Fri May 24 14:39:40 2013
New Revision: 1486079
URL: http://svn.apache.org/r1486079
Log:
WW-4036 Extends support of Dynamic Attributes to evaluate null attributes to empty string
Modified:
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java
Modified: struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java?rev=1486079&r1=1486078&r2=1486079&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java (original)
+++ struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/DynamicAttributesHandler.java Fri May 24 14:39:40 2013
@@ -21,6 +21,8 @@
package org.apache.struts2.views.java.simple;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.struts2.util.ComponentUtils;
import org.apache.struts2.views.java.Attributes;
import java.io.IOException;
@@ -36,8 +38,20 @@ public class DynamicAttributesHandler ex
*/
@Override
public void start(String name, Attributes a) throws IOException {
- a.putAll((Map<String, String>) context.getParameters().get("dynamicAttributes"));
+ processDynamicAttributes(a);
super.start(name, a);
}
+ protected void processDynamicAttributes(Attributes a) {
+ Map<String, String> dynamicAttributes = (Map<String, String>) context.getParameters().get("dynamicAttributes");
+ for (Map.Entry<String, String> entry : dynamicAttributes.entrySet()) {
+ if (altSyntax && ComponentUtils.isExpression(entry.getValue())) {
+ String value = ObjectUtils.defaultIfNull(findString(entry.getValue()), entry.getValue());
+ a.put(entry.getKey(), value);
+ } else {
+ a.put(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
}