View Javadoc

1   /*
2    * $Id: Password.java 451544 2006-09-30 05:38:02Z mrdon $
3    *
4    * Copyright 2006 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *      http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
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   * &lt;s:password label="%{text('password')}" name="password" size="10" maxlength="15" /&gt;
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  }