You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by hu...@apache.org on 2008/01/24 12:10:01 UTC

svn commit: r614842 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/components/Label.java test/java/org/apache/struts2/TestAction.java test/java/org/apache/struts2/views/jsp/ui/LabelTest.java

Author: husted
Date: Thu Jan 24 03:09:59 2008
New Revision: 614842

URL: http://svn.apache.org/viewvc?rev=614842&view=rev
Log:
WW-2171 "Label tag does not use key attribute to lookup value in resources when using simple theme" Apply patch provided by Maja S Bratseth.

Modified:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java
    struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestAction.java
    struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java?rev=614842&r1=614841&r2=614842&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Label.java Thu Jan 24 03:09:59 2008
@@ -78,15 +78,17 @@
             addParameter("for", findString(forAttr));
         }
 
-        // try value first, then name (this overrides the default behavior in the superclass)
+        // try value, then key, then name (this overrides the default behavior in the superclass)
         if (value != null) {
             addParameter("nameValue", findString(value));
+        } else if (key != null) {
+            String expr = "%{getText('"+ key +"')}";
+            addParameter("nameValue", findString(expr));
         } else if (name != null) {
             String expr = name;
             if (altSyntax()) {
                 expr = "%{" + expr + "}";
             }
-
             addParameter("nameValue", findString(expr));
         }
     }

Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestAction.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestAction.java?rev=614842&r1=614841&r2=614842&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestAction.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestAction.java Thu Jan 24 03:09:59 2008
@@ -20,10 +20,7 @@
  */
 package org.apache.struts2;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.apache.struts2.views.jsp.ui.User;
 
@@ -49,6 +46,19 @@
     private List list2;
     private List list3;
     private SomeEnum status = SomeEnum.COMPLETED;
+
+    private final Map texts = new HashMap();
+
+    public void setText(String key, String value) {
+        this.texts.put(key, value);
+    }
+
+    public String getText(String key) {
+        if (this.texts.containsKey(key)) {
+            return (String) this.texts.get(key);
+        }
+        return super.getText(key);
+    }
 
     public Collection getCollection() {
         return collection;

Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java?rev=614842&r1=614841&r2=614842&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java Thu Jan 24 03:09:59 2008
@@ -108,4 +108,26 @@
         LabelTag tag = new LabelTag();
         verifyGenericProperties(tag, "xhtml", null);
     }
+
+    public void testWithKey() throws Exception {
+        TestAction testAction = (TestAction) action;
+        final String key = "labelKey";
+        final String value = "baz";
+        testAction.setText(key, value);
+
+        testAction.setFoo("notToBeOutput");
+
+        LabelTag tag = new LabelTag();
+        tag.setPageContext(pageContext);
+        tag.setLabel("mylabel");
+        tag.setFor("for");
+        tag.setName("foo");
+        tag.setKey(key);
+
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(LabelTest.class.getResource("Label-2.txt"));
+    }
+
 }