diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractCheckedElementTag.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractCheckedElementTag.java index 292d0176ea4..b62ed81ed8b 100644 --- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractCheckedElementTag.java +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractCheckedElementTag.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2010 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -77,7 +77,7 @@ public abstract class AbstractCheckedElementTag extends AbstractHtmlInputElement */ @Override protected String autogenerateId() throws JspException { - return TagIdGenerator.nextId(getName(), this.pageContext); + return TagIdGenerator.nextId(super.autogenerateId(), this.pageContext); } diff --git a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractDataBoundFormElementTag.java b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractDataBoundFormElementTag.java index 2807c08a9b7..aaf39dc923e 100644 --- a/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractDataBoundFormElementTag.java +++ b/org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/tags/form/AbstractDataBoundFormElementTag.java @@ -144,7 +144,7 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im * deleting invalid characters (such as "[" or "]"). */ protected String autogenerateId() throws JspException { - return getName(); + return StringUtils.deleteAny(getName(), "[]"); } /** @@ -152,12 +152,12 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im *
The default implementation simply delegates to
* {@link #getPropertyPath()} to use the property path as the name.
* For the most part this is desirable as it links with the server-side
- * expectation for databinding. However, some subclasses may wish to change
+ * expectation for data binding. However, some subclasses may wish to change
* the value of the 'name' attribute without changing the bind path.
* @return the value for the HTML 'name' attribute
*/
protected String getName() throws JspException {
- return StringUtils.deleteAny(getPropertyPath(), "[]");
+ return getPropertyPath();
}
/**
diff --git a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/tags/form/CheckboxTagTests.java b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/tags/form/CheckboxTagTests.java
index e9ab68efc50..bcb6053fc1a 100644
--- a/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/tags/form/CheckboxTagTests.java
+++ b/org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/tags/form/CheckboxTagTests.java
@@ -96,7 +96,7 @@ public class CheckboxTagTests extends AbstractFormTagTests {
assertEquals("input", checkboxElement.getName());
assertEquals("checkbox", checkboxElement.attribute("type").getValue());
assertEquals("someMapkey1", checkboxElement.attribute("id").getValue());
- assertEquals("someMapkey", checkboxElement.attribute("name").getValue());
+ assertEquals("someMap[key]", checkboxElement.attribute("name").getValue());
assertEquals("checked", checkboxElement.attribute("checked").getValue());
assertEquals("true", checkboxElement.attribute("value").getValue());
}