You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2008/01/25 13:40:18 UTC
svn commit: r615208 - in /struts/struts2/trunk/core/src:
main/java/org/apache/struts2/components/UIBean.java
test/java/org/apache/struts2/components/UIBeanTest.java
Author: mrdon
Date: Fri Jan 25 04:40:17 2008
New Revision: 615208
URL: http://svn.apache.org/viewvc?rev=615208&view=rev
Log:
Escaping forward slashes in element ids
WW-2303
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/UIBean.java
struts/struts2/trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/UIBean.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/UIBean.java?rev=615208&r1=615207&r2=615208&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/UIBean.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/UIBean.java Fri Jan 25 04:40:17 2008
@@ -831,7 +831,7 @@
protected String escape(String name) {
// escape any possible values that can make the ID painful to work with in JavaScript
if (name != null) {
- return name.replaceAll("[\\.\\[\\]]", "_");
+ return name.replaceAll("[\\/\\.\\[\\]]", "_");
} else {
return "";
}
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java?rev=615208&r1=615207&r2=615208&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/components/UIBeanTest.java Fri Jan 25 04:40:17 2008
@@ -85,6 +85,20 @@
assertEquals("formId_txtFldName", txtFld.getParameters().get("id"));
}
+ public void testEscapeId() throws Exception {
+ ValueStack stack = ActionContext.getContext().getValueStack();
+ MockHttpServletRequest req = new MockHttpServletRequest();
+ MockHttpServletResponse res = new MockHttpServletResponse();
+
+ Form form = new Form(stack, req, res);
+ form.getParameters().put("id", "formId");
+
+ TextField txtFld = new TextField(stack, req, res);
+ txtFld.setName("foo/bar");
+ txtFld.populateComponentHtmlId(form);
+ assertEquals("formId_foo_bar", txtFld.getParameters().get("id"));
+ }
+
public void testGetThemeFromForm() throws Exception {
ValueStack stack = ActionContext.getContext().getValueStack();
MockHttpServletRequest req = new MockHttpServletRequest();