Author: michiel
Date: 2010-02-09 15:02:25 +0100 (Tue, 09 Feb 2010)
New Revision: 40929
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/typehandler/BooleanHandler.java
Log:
checkboxes where not working properly MMB-1928
Modified:
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/typehandler/BooleanHandler.java
===================================================================
---
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/typehandler/BooleanHandler.java
2010-02-09 14:00:48 UTC (rev 40928)
+++
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/typehandler/BooleanHandler.java
2010-02-09 14:02:25 UTC (rev 40929)
@@ -38,7 +38,8 @@
/**
* @see TypeHandler#htmlInput(Node, Field, boolean)
*/
- @Override public String htmlInput(Node node, Field field, boolean search)
throws JspTagException {
+ @Override
+ public String htmlInput(Node node, Field field, boolean search) throws
JspTagException {
EnumHandler eh = getEnumHandler(node, field);
if (eh != null) {
return eh.htmlInput(node, field, search);
@@ -47,8 +48,13 @@
buffer.append("<input type=\"checkbox\" class=\"");
buffer.append(getClasses(node, field));
buffer.append("\"
name=\"").append(prefix(field.getName())).append("\" ");
-
buffer.append("id=\"").append(prefixID(field.getName())).append("\" />");
-
+
buffer.append("id=\"").append(prefixID(field.getName())).append("\" ");
+ Object value = getFieldValue(node, field, ! search);
+ log.debug("Found " + value);
+ if (value.equals(Boolean.TRUE)) {
+ buffer.append("checked=\"checked\"");
+ }
+ buffer.append(" />");
return buffer.toString();
}
@@ -57,7 +63,8 @@
/**
* @see TypeHandler#useHtmlInput(Node, Field)
*/
- @Override public boolean useHtmlInput(Node node, Field field) throws
JspTagException {
+ @Override
+ public boolean useHtmlInput(Node node, Field field) throws JspTagException
{
log.debug("using html-input");
EnumHandler eh = getEnumHandler(node, field);
if (eh != null) {
@@ -69,7 +76,8 @@
/**
* @see TypeHandler#whereHtmlInput(Field)
*/
- @Override public String whereHtmlInput(Field field) throws JspTagException
{
+ @Override
+ public String whereHtmlInput(Field field) throws JspTagException {
EnumHandler eh = getEnumHandler(null, field);
if (eh != null) {
return eh.whereHtmlInput(field);
@@ -77,7 +85,8 @@
return super.whereHtmlInput(field);
}
- @Override public Constraint whereHtmlInput(Field field, Query query)
throws JspTagException {
+ @Override
+ public Constraint whereHtmlInput(Field field, Query query) throws
JspTagException {
EnumHandler eh = getEnumHandler(null, field);
if (eh != null) {
return eh.whereHtmlInput(field, query);
@@ -85,9 +94,20 @@
return super.whereHtmlInput(field, query);
}
- @Override protected Object cast(Object value, Node node, Field field) {
- if (value == null || "".equals(value)) return Boolean.FALSE;
- return super.cast(value, node, field);
+ @Override
+ protected Object cast(Object value, Node node, Field field) {
+ if (value == null || "".equals(value)) return Boolean.FALSE;
+ return super.cast(value, node, field);
+
+ @Override
+ public Object getFieldValue(Node node, Field field) throws JspTagException
{
+ Object v = super.getFieldValue(node, field);
+ EnumHandler eh = getEnumHandler(null, field);
+ if (eh == null) {
+ // check-boxes.
+ v = "on".equals(v);
+ }
+ return v;
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs