From 120e5a4667150ee44946cf0061a8018cf1704ee8 Mon Sep 17 00:00:00 2001 From: Musachy Barroso Date: Mon, 16 Mar 2009 20:09:51 +0000 Subject: [PATCH] WW-3033 This change rollsback WW-2351. The id should not be change (it break backward compatibility and it is not a good idea), instead the name of the generated function is the one that should be changed git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@754994 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/struts2/components/UIBean.java | 2 +- .../resources/template/xhtml/form-close-validate.ftl | 2 +- .../main/resources/template/xhtml/form-validate.ftl | 4 ++-- .../org/apache/struts2/components/UIBeanTest.java | 4 ++-- .../org/apache/struts2/views/jsp/ui/Radio-6.txt | 12 ++++++------ 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/components/UIBean.java b/core/src/main/java/org/apache/struts2/components/UIBean.java index 4f806f4fc..dbd98ff3e 100644 --- a/core/src/main/java/org/apache/struts2/components/UIBean.java +++ b/core/src/main/java/org/apache/struts2/components/UIBean.java @@ -859,7 +859,7 @@ public abstract class UIBean extends Component { 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("[^a-zA-Z0-9_]", "_"); + return name.replaceAll("[\\/\\.\\[\\]]", "_"); } else { return ""; } diff --git a/core/src/main/resources/template/xhtml/form-close-validate.ftl b/core/src/main/resources/template/xhtml/form-close-validate.ftl index 533a4f78f..b9521058c 100644 --- a/core/src/main/resources/template/xhtml/form-close-validate.ftl +++ b/core/src/main/resources/template/xhtml/form-close-validate.ftl @@ -35,7 +35,7 @@ END SNIPPET: supported-validators --> <#if ((parameters.validate?default(false) == true) && (parameters.performValidation?default(false) == true))> <#if parameters.onsubmit??> - ${tag.addParameter('onsubmit', "${parameters.onsubmit}; return validateForm_${parameters.id}();")} + ${tag.addParameter('onsubmit', "${parameters.onsubmit}; return validateForm_${parameters.id?replace('[^a-zA-Z0-9_]', '_', 'r')}();")} <#else> - ${tag.addParameter('onsubmit', "return validateForm_${parameters.id}();")} + ${tag.addParameter('onsubmit', "return validateForm_${parameters.id?replace('[^a-zA-Z0-9_]', '_', 'r')}();")} diff --git a/core/src/test/java/org/apache/struts2/components/UIBeanTest.java b/core/src/test/java/org/apache/struts2/components/UIBeanTest.java index accf885d1..0f00690f5 100644 --- a/core/src/test/java/org/apache/struts2/components/UIBeanTest.java +++ b/core/src/test/java/org/apache/struts2/components/UIBeanTest.java @@ -98,8 +98,8 @@ public class UIBeanTest extends StrutsTestCase { assertEquals(bean.escape("hello[world"), "hello_world"); assertEquals(bean.escape("hello.world"), "hello_world"); assertEquals(bean.escape("hello]world"), "hello_world"); - assertEquals(bean.escape("hello!world"), "hello_world"); - assertEquals(bean.escape("hello!@#$%^&*()world"), "hello__________world"); + assertEquals(bean.escape("hello!world"), "hello!world"); + assertEquals(bean.escape("hello!@#$%^&*()world"), "hello!@#$%^&*()world"); } public void testEscapeId() throws Exception { diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-6.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-6.txt index c8cc2e640..d58184796 100644 --- a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-6.txt +++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Radio-6.txt @@ -1,11 +1,11 @@ - - - - - - + + + + + +