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 2007/01/20 09:44:14 UTC

svn commit: r498091 - 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: Sat Jan 20 00:44:14 2007
New Revision: 498091

URL: http://svn.apache.org/viewvc?view=rev&rev=498091
Log:
Fixed parsing of name for ognl when no id is specified and using name value
WW-1617

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?view=diff&rev=498091&r1=498090&r2=498091
==============================================================================
--- 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 Sat Jan 20 00:44:14 2007
@@ -872,9 +872,10 @@
                 addParameter("id", id);
             }
         } else if (form != null) {
-            addParameter("id", form.getParameters().get("id") + "_" + escape(name));
+            addParameter("id", form.getParameters().get("id") + "_" 
+                    + escape(name != null ? findString(name) : null));
         } else {
-            addParameter("id", escape(name));
+            addParameter("id", escape(name != null ? findString(name) : null));
         }
     }
 

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?view=diff&rev=498091&r1=498090&r2=498091
==============================================================================
--- 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 Sat Jan 20 00:44:14 2007
@@ -48,6 +48,22 @@
 
         assertEquals("txtFldId", txtFld.getParameters().get("id"));
     }
+    
+    public void testPopulateComponentHtmlIdWithOgnl() throws Exception {
+        ValueStack stack = ValueStackFactory.getFactory().createValueStack();
+        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("txtFldName%{'1'}");
+
+        txtFld.populateComponentHtmlId(form);
+
+        assertEquals("formId_txtFldName1", txtFld.getParameters().get("id"));
+    }
 
     public void testPopulateComponentHtmlId2() throws Exception {
         ValueStack stack = ValueStackFactory.getFactory().createValueStack();