1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.components;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.http.HttpServletResponse;
28
29 import org.apache.struts2.views.annotations.StrutsTag;
30 import org.apache.struts2.components.Param.UnnamedParametric;
31
32 import com.opensymphony.xwork2.util.ValueStack;
33
34 /***
35 * <!-- START SNIPPET: javadoc -->
36 *
37 * Render field errors if they exists. Specific layout depends on the particular theme.
38 *
39 * <!-- END SNIPPET: javadoc -->
40 *
41 * <p/> <b>Examples</b>
42 *
43 * <pre>
44 * <!-- START SNIPPET: example -->
45 *
46 * <!-- example 1 -->
47 * <s:fielderror />
48 *
49 * <!-- example 2 -->
50 * <s:fielderror>
51 * <s:param>field1</s:param>
52 * <s:param>field2</s:param>
53 * </s:fielderror>
54 * <s:form .... >
55 * ....
56 * </s:form>
57 *
58 * OR
59 *
60 * <s:fielderror>
61 * <s:param value="%{'field1'}" />
62 * <s:param value="%{'field2'}" />
63 * </s:fielderror>
64 * <s:form .... >
65 * ....
66 * </s:form>
67 *
68 * <!-- END SNIPPET: example -->
69 * </pre>
70 *
71 *
72 * <p/> <b>Description</b><p/>
73 *
74 *
75 * <pre>
76 * <!-- START SNIPPET: description -->
77 *
78 * Example 1: display all field errors<p/>
79 * Example 2: display field errors only for 'field1' and 'field2'<p/>
80 *
81 * <!-- END SNIPPET: description -->
82 * </pre>
83 *
84 */
85 @StrutsTag(name="fielderror", tldTagClass="org.apache.struts2.views.jsp.ui.FieldErrorTag", description="Render field error (all " +
86 "or partial depending on param tag nested)if they exists")
87 public class FieldError extends UIBean implements UnnamedParametric {
88
89 private List errorFieldNames = new ArrayList();
90
91 public FieldError(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
92 super(stack, request, response);
93 }
94
95 private static final String TEMPLATE = "fielderror";
96
97 protected String getDefaultTemplate() {
98 return TEMPLATE;
99 }
100
101 public void addParameter(Object value) {
102 if (value != null) {
103 errorFieldNames.add(value.toString());
104 }
105 }
106
107 public List getFieldErrorFieldNames() {
108 return errorFieldNames;
109 }
110 }
111