struts2学习笔记(九)struts2内置校验
来源:互联网 发布:finale mac 汉化 编辑:程序博客网 时间:2024/05/27 19:28
1.要校验的pojo
public class User {private String userName;private String name;private int age;private String email;private String homePage;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getHomePage() {return homePage;}public void setHomePage(String homePage) {this.homePage = homePage;}}
2.Action类
public class RegisterAction extends ActionSupport{private static final long serialVersionUID = 1L;private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String execute(){System.out.println("注册用户:"+user);return SUCCESS;}}
3.struts.xml配置
<package name="manager" extends="struts-default"><action name="registerAction" class="com.skymr.struts2.chapter3.action.RegisterAction"><result name="success">/regSuc.jsp</result><result name="input">/register.jsp</result></action></package>
名为input的result是校验不通过时跳转的页面.
4.jsp代码
<s:actionerror/><s:form action="registerAction" method="post"><s:textfield name="user.userName" label="用户名"></s:textfield><s:textfield name="user.name" label="姓名"></s:textfield><s:textfield name="user.age" label="年龄"></s:textfield><s:textfield name="user.email" label="邮件"></s:textfield><s:textfield name="user.homePage" label="主页"></s:textfield><s:submit value="注册"></s:submit></s:form>
<s:actionerror/>是表达式校验不通过时显示信息,不写这行而校验不过则不会显示错误信息.
5. validation.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><validators><field name="user.userName"><field-validator type="requiredstring"><message>请填写用户名</message></field-validator><field-validator type="stringlength"><param name="minLength">6</param><param name="maxLength">20</param><message>用户名长度在6-20之间</message></field-validator></field><field name="user.name"><field-validator type="requiredstring"><message>请填写姓名</message></field-validator><field-validator type="stringlength"><param name="minLength">6</param><param name="maxLength">20</param><message>姓名长度在6-20之间</message></field-validator></field><field name="user.age"><field-validator type="int"><param name="min">18</param><message>年龄必须大于18岁</message></field-validator></field><field name="user.email"><field-validator type="requiredstring"><message>请填写邮件地址</message></field-validator><field-validator type="email"><message>邮件地址格式不正确</message></field-validator></field><field name="user.homePage"><field-validator type="requiredstring"><message>请填写主页</message></field-validator><field-validator type="url"><message>主页格式不正确</message></field-validator></field> <validator type="expression"> <param name="expression">!user.name.equals(user.userName)</param> <message>用户名和姓名不能相同</message> </validator></validators>
ps:
必须在文件开头加入语法行:
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
文件命名方式为 action类名+"-validation.xml"
如Action名为RegisterAction,则校验配置文件名为RegisterAction-validation.xml.
doc文档里有有关校验的详解.
conversion validatordate validatordouble validatoremail validatorexpression validatorfieldexpression validatorint validatorregex validatorrequired validatorrequiredstring validatorshort validatorstringlength validatorurl validatorvisitor validatorconditionalvisitor validator
0 0
- struts2学习笔记(九)struts2内置校验
- Struts2学习笔记九
- Struts2学习笔记(三) 输入校验
- Struts2学习笔记(六)校验框架
- Struts2内置校验器
- Struts2内置校验器
- Struts2内置校验器
- struts2学习笔记(十)struts2自定义校验
- Struts2 校验框架学习笔记
- 输入校验---struts2学习笔记
- struts2学习笔记----校验配置
- Struts2 校验框架学习笔记
- Struts2 校验框架学习笔记
- Struts2 校验框架学习笔记
- struts2校验框架学习笔记
- Struts2学习笔记----输入校验
- Struts2学习笔记(九) OGNL
- struts2学习笔记(九)拦截器
- 开源分布式系统
- 我的ROS入门(五):总算搞通ROS的服务节点订阅发布消息话题了
- Thread的创建方式以及稍微深入的分析:
- 如何new与delete各种二维数组
- 程序封装_随记(1)
- struts2学习笔记(九)struts2内置校验
- hdu 5385 The path(最短路+构造)
- 当修改一些代码时,使用什么编译命令可以最有效率
- 程序封装_随记(2)
- win10机器
- 程序员什么时候该考虑辞职
- Eclipse搭建最简单的Servlet及配置过程
- java语句
- 光栅化方法优化