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 javax.servlet.http.HttpServletRequest;
25 import javax.servlet.http.HttpServletResponse;
26
27 import org.apache.struts2.views.annotations.StrutsTag;
28 import org.apache.struts2.views.annotations.StrutsTagAttribute;
29
30 import com.opensymphony.xwork2.util.ValueStack;
31
32 /***
33 * <!-- START SNIPPET: javadoc -->
34 * Render an HTML input tag of type password.</p>
35 * <!-- END SNIPPET: javadoc -->
36 *
37 * <p/> <b>Examples</b>
38 * <p/>
39 * <!-- START SNIPPET: exdescription -->
40 * In this example, a password control is displayed. For the label, we are calling ActionSupport's getText() to
41 * retrieve password label from a resource bundle.<p/>
42 * <!-- END SNIPPET: exdescription -->
43 * <pre>
44 * <!-- START SNIPPET: example -->
45 * <s:password label="%{text('password')}" name="password" size="10" maxlength="15" />
46 * <!-- END SNIPPET: example -->
47 * </pre>
48 *
49 */
50 @StrutsTag(
51 name="password",
52 tldTagClass="org.apache.struts2.views.jsp.ui.PasswordTag",
53 description="Render an HTML input tag of type password",
54 allowDynamicAttributes=true)
55 public class Password extends TextField {
56 final public static String TEMPLATE = "password";
57
58 protected String showPassword;
59
60 public Password(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
61 super(stack, request, response);
62 }
63
64 protected String getDefaultTemplate() {
65 return TEMPLATE;
66 }
67
68 public void evaluateExtraParams() {
69 super.evaluateExtraParams();
70
71 if (showPassword != null) {
72 addParameter("showPassword", findValue(showPassword, Boolean.class));
73 }
74 }
75
76 @StrutsTagAttribute(description="Whether to show input", type="Boolean", defaultValue="false")
77 public void setShowPassword(String showPassword) {
78 this.showPassword = showPassword;
79 }
80
81 }