From e1da75d1bc2bf247ccd8804035ed992d3d5249bd Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Mon, 21 Jan 2013 22:07:08 +0000 Subject: [PATCH] WW-3912 adds proper support for checked attribute git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1436650 13f79535-47bb-0310-9956-ffa450edef68 --- .../views/java/simple/CheckboxListHandler.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java index d9c3f14a0..8184471dd 100644 --- a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java +++ b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/simple/CheckboxListHandler.java @@ -68,7 +68,7 @@ public class CheckboxListHandler extends AbstractTagHandler implements TagGenera 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 AbstractTagHandler implements TagGenera } } } + + private Boolean isChecked(Map 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; + } + }