前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >struts2开发_validation_struts2客户端校验

struts2开发_validation_struts2客户端校验

作者头像
Hongten
发布2018-09-13 16:43:16
5630
发布2018-09-13 16:43:16
举报
文章被收录于专栏:HongtenHongten

项目结构:

运行结果:

运行结果:注册成功

==============================================

/struts2_0200_validation/src/com/b510/register/action/RegistAction.java

代码语言:javascript
复制
  1 package com.b510.register.action;
  2 
  3 import com.opensymphony.xwork2.ActionSupport;
  4 
  5 import java.util.Date;
  6 
  7 /**
  8  * 注册信息Action
  9  * 
 10  * @author Hongten
 11  * 
 12  */
 13 public class RegistAction extends ActionSupport {
 14     private static final long serialVersionUID = 1L;
 15 
 16     /**
 17      * 用户名
 18 */
 19     private String name;
 20     /**
 21      * 密码
 22 */
 23     private String password;
 24     /**
 25      * 确认密码
 26 */
 27     private String repassword;
 28     /**
 29      * 年龄
 30 */
 31     private int age;
 32     /**
 33      * 工资
 34 */
 35     private double salary;
 36     /**
 37      * 生日
 38 */
 39     private Date birthday;
 40     /**
 41      * 邮箱
 42 */
 43     private String email;
 44     /**
 45      * 个人主页
 46 */
 47     private String personPage;
 48 
 49     public int getAge() {
 50         return age;
 51     }
 52 
 53     public Date getBirthday() {
 54         return birthday;
 55     }
 56 
 57     public String getEmail() {
 58         return email;
 59     }
 60 
 61     public String getName() {
 62         return name;
 63     }
 64 
 65     public String getPassword() {
 66         return password;
 67     }
 68 
 69     public String getPersonPage() {
 70         return personPage;
 71     }
 72 
 73     public String getRepassword() {
 74         return repassword;
 75     }
 76 
 77     public double getSalary() {
 78         return salary;
 79     }
 80 
 81     public void setAge(int age) {
 82         this.age = age;
 83     }
 84 
 85     public void setBirthday(Date birthday) {
 86         this.birthday = birthday;
 87     }
 88 
 89     public void setEmail(String email) {
 90         this.email = email;
 91     }
 92 
 93     public void setName(String name) {
 94         this.name = name;
 95     }
 96 
 97     public void setPassword(String password) {
 98         this.password = password;
 99     }
100 
101     public void setPersonPage(String personPage) {
102         this.personPage = personPage;
103     }
104 
105     public void setRepassword(String repassword) {
106         this.repassword = repassword;
107     }
108 
109     public void setSalary(double salary) {
110         this.salary = salary;
111     }
112 
113 }

/struts2_0200_validation/src/com/b510/register/action/RegistAction-validation.xml

代码语言:javascript
复制
 1 <?xml version="1.0" encoding="GBK"?>
 2     <!-- 指定校验配置文件的DTD信息 -->
 3 <!DOCTYPE validators PUBLIC 
 4     "-//OpenSymphony Group//XWork Validator 1.0.3//EN"
 5     "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
 6     <!-- 校验文件的根元素 -->
 7 <validators>
 8     <!-- 校验Action的name属性 -->
 9     <field name="name">
10         <!-- 指定name属性必须满足必填规则 -->
11         <field-validator type="requiredstring">
12             <param name="trim">true</param>
13             <message>必须输入名字</message>
14         </field-validator>
15         <!-- 指定name属性必须匹配正则表达式 ,长度位4到20之间-->
16         <field-validator type="regex">
17             <param name="expression"><![CDATA[(\w{4,20})]]></param>
18             <message>您输入的用户名只能是字母和数字
19                 ,且长度必须在4到20之间</message>
20         </field-validator>
21     </field>
22     <!-- 校验Action的password属性 -->
23     <field name="password">
24         <!-- 指定password属性必须满足必填规则 -->
25         <field-validator type="requiredstring">
26             <param name="trim">true</param>
27             <message>必须输入密码</message>
28         </field-validator>
29         <!-- 指定password属性必须满足匹配指定的正则表达式 -->
30         <field-validator type="regex">
31             <param name="expression"><![CDATA[(\w{4,25})]]></param>
32             <message>您输入的密码只能是字母和数字
33                 ,且长度必须在4到25之间</message>
34         </field-validator>
35     </field>
36     <!-- 校验Action的repassword属性 -->
37     <field name="repassword">
38         <!-- 指定repassword属性必须满足必填规则 -->
39         <field-validator type="requiredstring">
40             <param name="trim">true</param>
41             <message>必须输入确认密码</message>
42         </field-validator>
43         <!-- 指定repassword属性必须满足匹配指定的正则表达式 -->
44         <field-validator type="fieldexpression">
45             <param name="expression"><![CDATA[(repassword==password)]]></param>
46             <message>您输入的确认密码错误!请重新输入</message>
47         </field-validator>
48     </field>
49     <!-- 指定age属性必须在指定范围内-->
50     <field name="age">
51         <field-validator type="int">
52             <param name="min">1</param>
53             <param name="max">120</param>
54             <message>年纪必须在${min}到${max}之间</message>
55         </field-validator>
56     </field>
57     <!-- 指定salary属性必须在指定的范围内 -->
58     <field name="salary">
59         <field-validator type="double">
60             <param name="min">2000.0</param>
61             <param name="max">10000.0</param>
62             <message>工资必须在${min}到${max}之间</message>
63         </field-validator>
64     </field>
65     <!-- 指定birthday属性必须在指定范围内-->
66     <field name="birthday">
67         <field-validator type="date">
68             <!-- 下面指定日期字符串时,必须使用本Locale的日期格式 -->
69             <param name="min">1950-01-01</param>
70             <param name="max">2100-01-01</param>
71             <message>生日必须在${min}到${max}之间</message>
72         </field-validator>
73     </field>
74     <!-- 指定email属性必须在指定的范围内 -->
75     <field name="email">
76         <!-- 指定需要校验的字段名为email -->
77         <field-validator type="email">
78             <!-- 指定校验失败的提示信息 -->
79             <message>你输入的邮箱必须是一个有效,如:example@163.com</message>
80         </field-validator>
81     </field>
82     <!-- 指定personPage属性必须在指定的范围内 -->
83     <field name="personPage">
84         <!-- 指定需要校验的字段名为personPage -->
85         <field-validator type="url">
86             <!-- 指定校验失败的提示信息 -->
87             <message>你输入的个人主页地址必须有效,如:http://www.example.com</message>
88         </field-validator>
89 
90     </field>
91 </validators>

/struts2_0200_validation/src/struts-validation.xml

代码语言:javascript
复制
 1 <?xml version="1.0" encoding="GBK"?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
 4     "http://struts.apache.org/dtds/struts-2.1.7.dtd">
 5 <struts>
 6     <package name="hongtenRegister" extends="struts-default">
 7         <!-- 用户注册的Action -->
 8         <action name="regist" class="com.b510.register.action.RegistAction">
 9             <!-- 类型转换失败、输入校验失败,转入该页面 -->
10             <result name="input">/regist.jsp</result>
11             <result>/show.jsp</result>
12         </action>
13         <action name="">
14             <result>.</result>
15         </action>
16     </package>
17 </struts>

/struts2_0200_validation/src/struts.xml

代码语言:javascript
复制
1 <?xml version="1.0" encoding="GBK"?>
2 <!DOCTYPE struts PUBLIC
3     "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
4     "http://struts.apache.org/dtds/struts-2.1.7.dtd">
5 <struts>
6     <constant name="struts.i18n.encoding" value="GBK"/>
7     <constant name="struts.devMode" value="true"></constant>
8     <include file="struts-validation.xml"></include>
9 </struts>

/struts2_0200_validation/WebRoot/regist.jsp

代码语言:javascript
复制
 1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
 2 <%@taglib prefix="s" uri="/struts-tags"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 4     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head>
 7     
 8 <title>请输入您的注册信息</title>
 9     <s:head/>
10 
11 </head>
12 
13 <body>
14 <h2>请输入您的注册信息</h2>
15 <s:form action="regist">
16     <s:textfield name="name" label="用户名"/>
17     <s:password name="password" label="密码"/>
18     <s:password name="repassword" label="确认密码"/>
19     <s:textfield name="age" label="年龄"/>
20     <s:textfield name="salary" label="工资"/>
21     <s:textfield name="birthday" label="生日"/>
22     <s:textfield name="email" label="邮箱"/>
23     <s:textfield name="personPage" label="个人主页"/>
24     <s:submit value="注册"/>
25 </s:form>
26 </body>
27 </html>

/struts2_0200_validation/WebRoot/show.jsp

代码语言:javascript
复制
 1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
 2 <%@taglib prefix="s" uri="/struts-tags"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 4     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head>
 7     
 8 <title>校验成功</title>
 9 
10 </head>
11 
12 
13 <body>
14 <h3>校验成功</h3>
15     用户名:<s:property value="name"/><br/>
16     密码:<s:property value="password"/><br/>
17     工资:<s:property value="salary"/><br/>
18     年龄:<s:property value="age"/><br/>
19     生日:<s:property value="birthday"/><br/>
20     邮箱:<s:property value="email"/><br />
21     个人主页:<s:property value="personPage"/>
22 </body>
23 
24 </html>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-04-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档