Author: musachy
Date: Mon Dec 1 11:49:00 2008
New Revision: 722198
URL: http://svn.apache.org/viewvc?rev=722198&view=rev
Log:
WW-2671 Add fieldName attribute to FieldErrorTag
Thanks to David Evans for the patch
Added:
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-6.txt
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FieldError.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java
struts/struts2/trunk/core/src/site/resources/tags/fielderror.html
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FieldError.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FieldError.java?rev=722198&r1=722197&r2=722198&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FieldError.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/FieldError.java
Mon Dec 1 11:49:00 2008
@@ -21,16 +21,15 @@
package org.apache.struts2.components;
-import java.util.ArrayList;
-import java.util.List;
+import com.opensymphony.xwork2.util.ValueStack;
+import org.apache.struts2.components.Param.UnnamedParametric;
+import org.apache.struts2.views.annotations.StrutsTag;
+import org.apache.struts2.views.annotations.StrutsTagAttribute;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.views.annotations.StrutsTag;
-import org.apache.struts2.components.Param.UnnamedParametric;
-
-import com.opensymphony.xwork2.util.ValueStack;
+import java.util.ArrayList;
+import java.util.List;
/**
* <!-- START SNIPPET: javadoc -->
@@ -66,6 +65,10 @@
* ....
* </s:form>
*
+ * OR
+ *
+ * <s:fielderror fieldName="field1" />
+ *
* <!-- END SNIPPET: example -->
* </pre>
*
@@ -108,5 +111,10 @@
public List<String> getFieldErrorFieldNames() {
return errorFieldNames;
}
+
+ @StrutsTagAttribute(description="Field name for single field attribute
usage", type="String")
+ public void setFieldName(String fieldName) {
+ addParameter(fieldName);
+ }
}
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java?rev=722198&r1=722197&r2=722198&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/FieldErrorTag.java
Mon Dec 1 11:49:00 2008
@@ -36,8 +36,22 @@
private static final long serialVersionUID = -182532967507726323L;
+ protected String fieldName;
+
+
public Component getBean(ValueStack stack, HttpServletRequest req,
HttpServletResponse res) {
return new FieldError(stack, req, res);
}
+
+ protected void populateParams() {
+ super.populateParams();
+
+ FieldError fieldError = ((FieldError) component);
+ fieldError.setFieldName(this.fieldName);
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
}
Modified: struts/struts2/trunk/core/src/site/resources/tags/fielderror.html
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/site/resources/tags/fielderror.html?rev=722198&r1=722197&r2=722198&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/site/resources/tags/fielderror.html (original)
+++ struts/struts2/trunk/core/src/site/resources/tags/fielderror.html Mon Dec
1 11:49:00 2008
@@ -82,6 +82,14 @@
<td align="left" valign="top">Set the
html disabled attribute on rendered html element</td>
</tr>
<tr>
+ <td align="left"
valign="top">fieldName</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top"></td>
+ <td align="left" valign="top">false</td>
+ <td align="left"
valign="top">String</td>
+ <td align="left" valign="top">Field
name for single field attribute usage</td>
+ </tr>
+ <tr>
<td align="left" valign="top">id</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
Modified:
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java?rev=722198&r1=722197&r2=722198&view=diff
==============================================================================
---
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
(original)
+++
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/FieldErrorTagTest.java
Mon Dec 1 11:49:00 2008
@@ -82,6 +82,17 @@
verify(FieldErrorTagTest.class.getResource("fielderror-3.txt"));
}
+ public void testWithFieldName() throws Exception {
+ FieldErrorTag tag = new FieldErrorTag();
+ tag.setFieldName("field1");
+ ((InternalAction)action).setHaveFieldErrors(true);
+ tag.setPageContext(pageContext);
+ tag.doStartTag();
+ tag.doEndTag();
+
+ verify(FieldErrorTagTest.class.getResource("fielderror-6.txt"));
+ }
+
public void testWithParamsWithFieldErrors2() throws Exception {
FieldErrorTag tag = new FieldErrorTag();
((InternalAction)action).setHaveFieldErrors(true);
Added:
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-6.txt
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-6.txt?rev=722198&view=auto
==============================================================================
---
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-6.txt
(added)
+++
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/fielderror-6.txt
Mon Dec 1 11:49:00 2008
@@ -0,0 +1,3 @@
+<ul>
+ <li><span class="errorMessage">field error message number 1</span></li>
+</ul>
\ No newline at end of file