Author: lukaszlenart
Date: Mon Jan 21 22:07:08 2013
New Revision: 1436650

URL: http://svn.apache.org/viewvc?rev=1436650&view=rev
Log:
WW-3912 adds proper support for checked attribute

Modified:
    
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java

Modified: 
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java?rev=1436650&r1=1436649&r2=1436650&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
 (original)
+++ 
struts/struts2/trunk/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java
 Mon Jan 21 22:07:08 2013
@@ -68,7 +68,7 @@ public class CheckboxListHandler extends
                 a.add("type", "checkbox")
                        .add("name", name)
                        .add("value", itemKeyStr)
-                       .addIfTrue("checked", params.get("nameValue"))
+                       .addIfTrue("checked", isChecked(params, itemKeyStr))
                        .addIfTrue("readonly", params.get("readonly"))
                        .addIfTrue("disabled", disabled)
                        .addIfExists("tabindex", params.get("tabindex"))
@@ -101,4 +101,18 @@ public class CheckboxListHandler extends
             }
         }
     }
+
+    private Boolean isChecked(Map<String, Object> params, String itemKeyStr) {
+        Boolean checked = false;
+        if (itemKeyStr != null) {
+            String[] nameValues = (String[]) params.get("nameValue");
+            for (String value : nameValues) {
+                if (checked = value.equalsIgnoreCase(itemKeyStr)) {
+                    break;
+                }
+            }
+        }
+        return checked;
+    }
+
 }


Reply via email to