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