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 javax.servlet.http.HttpServletRequest;
24 import javax.servlet.http.HttpServletResponse;
25
26 import org.apache.struts2.views.annotations.StrutsTag;
27 import org.apache.struts2.views.annotations.StrutsTagAttribute;
28
29 import com.opensymphony.xwork2.util.ValueStack;
30
31 /***
32 * <!-- START SNIPPET: javadoc -->
33 * Renders an HTML input element of type checkbox, populated by the specified property from the ValueStack.
34 * <!-- END SNIPPET: javadoc -->
35 *
36 * <p/> <b>Examples</b>
37 *
38 * <pre>
39 * <!-- START SNIPPET: example -->
40 * JSP:
41 * <s:checkbox label="checkbox test" name="checkboxField1" value="aBoolean" fieldValue="true"/>
42 *
43 * Velocity:
44 * #tag( Checkbox "label=checkbox test" "name=checkboxField1" "value=aBoolean" )
45 *
46 * Resulting HTML (simple template, aBoolean == true):
47 * <input type="checkbox" name="checkboxField1" value="true" checked="checked" />
48 *
49 * <!-- END SNIPPET: example -->
50 * </pre>
51 *
52 */
53 @StrutsTag(name="checkbox", tldTagClass="org.apache.struts2.views.jsp.ui.CheckboxTag", description="Render a checkbox input field")
54 public class Checkbox extends UIBean {
55 final public static String TEMPLATE = "checkbox";
56
57 protected String fieldValue;
58
59 public Checkbox(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
60 super(stack, request, response);
61 }
62
63 protected String getDefaultTemplate() {
64 return TEMPLATE;
65 }
66
67 protected void evaluateExtraParams() {
68 if (fieldValue != null) {
69 addParameter("fieldValue", findString(fieldValue));
70 } else {
71 addParameter("fieldValue", "true");
72 }
73 }
74
75 protected Class getValueClassType() {
76 return Boolean.class;
77 }
78
79 @StrutsTagAttribute(description="The actual HTML value attribute of the checkbox.", defaultValue="true")
80 public void setFieldValue(String fieldValue) {
81 this.fieldValue = fieldValue;
82 }
83
84 }