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