1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.components;
19
20 import javax.servlet.http.HttpServletRequest;
21 import javax.servlet.http.HttpServletResponse;
22
23 import com.opensymphony.xwork2.util.ValueStack;
24
25 /***
26 * <!-- START SNIPPET: javadoc -->
27 * Render an HTML input tag of type password.</p>
28 * <!-- END SNIPPET: javadoc -->
29 *
30 * <p/> <b>Examples</b>
31 * <p/>
32 * <!-- START SNIPPET: exdescription -->
33 * In this example, a password control is displayed. For the label, we are calling ActionSupport's getText() to
34 * retrieve password label from a resource bundle.<p/>
35 * <!-- END SNIPPET: exdescription -->
36 * <pre>
37 * <!-- START SNIPPET: example -->
38 * <s:password label="%{text('password')}" name="password" size="10" maxlength="15" />
39 * <!-- END SNIPPET: example -->
40 * </pre>
41 *
42 * @s.tag name="password" tld-body-content="JSP" tld-tag-class="org.apache.struts2.views.jsp.ui.PasswordTag"
43 * description="Render an HTML input tag of type password"
44 */
45 public class Password extends TextField {
46 final public static String TEMPLATE = "password";
47
48 protected String showPassword;
49
50 public Password(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
51 super(stack, request, response);
52 }
53
54 protected String getDefaultTemplate() {
55 return TEMPLATE;
56 }
57
58 public void evaluateExtraParams() {
59 super.evaluateExtraParams();
60
61 if (showPassword != null) {
62 addParameter("showPassword", findValue(showPassword, Boolean.class));
63 }
64 }
65
66 /***
67 * Whether to show input
68 * @s.tagattribute required="false" type="Boolean" default="false"
69 */
70 public void setShowPassword(String showPassword) {
71 this.showPassword = showPassword;
72 }
73
74 }