Struts2验证框架源码详解

上传人:飞*** 文档编号:40320032 上传时间:2018-05-25 格式:DOC 页数:9 大小:73.50KB
返回 下载 相关 举报
Struts2验证框架源码详解_第1页
第1页 / 共9页
Struts2验证框架源码详解_第2页
第2页 / 共9页
Struts2验证框架源码详解_第3页
第3页 / 共9页
Struts2验证框架源码详解_第4页
第4页 / 共9页
Struts2验证框架源码详解_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Struts2验证框架源码详解》由会员分享,可在线阅读,更多相关《Struts2验证框架源码详解(9页珍藏版)》请在金锄头文库上搜索。

1、Action 配置中一定要设置 input 返回页面添加验证只要创建验证的 xml 文件1.创建创建 xml 文件名文件名验证验证 Action 中全部方法中全部方法在 Action 同包下,创建:Action 类名-validation.xml如:ValidateAction 创建 ValidateAction-validation.xml验证验证 Action 中单个方法中单个方法注意事项注意事项注意:1.要验证的方法不能叫 input.2.这样配置在 form 表单中要在中 action 写好名称,不能写 action=“validate_“,然后 这样会找不到对应的配置文件,跳过验证.

2、3.如果验证出错,返回 input 页面时,那些存在 ValueStack 中的值会丢失,可以将 Action 实现Preparable 接口,然后 prepare()方法里初始化添加页面需要的值.4.如果使用 Preparable 接口,必须在 action 配置中添加.这样 prepare()才能得到 form 提交的参数. 2.创建创建 xml 内容内容truePlease enter a mailInvalid MAILStruts 内建验证程序内建验证程序(type 的值的值)required保证字段的值不是空值 null.空字符串不是空值 null.Please enter a u

3、ser namerequiredstring保证字段不是空值 null,也不是空白(empty).param:trim(boolean) -true-去除前后空格truePlease enter a user namefalsePlease enter a passwordint验证字段值是否可以转换为一个整数.param: min(int);max(int)19992010year:1999-2010date验证给定日期字段的值是否在一个给定的范围内.param:max(date);min(date)1999-01-012010-01-01birthday:1999-2010email给定的

4、 String 值是否是一个电子邮件地址Invalid emailurl给定的 String 值是否是一个合法的 URL(要有前缀)Invalid URLexpression,fieldexpression验证给定字段是否满足一个 OGNL 表达式.区别:expression 不是一个字段验证程序,失败时将生成一个动作错误.(JSP 中调用才显示出错信息)fieldexpression 是一个字段验证程序,失败时将抛出一个字段错误.(对字段验证)param:expression(String)OGNL 表达式expression:public class ExpressionTestActio

5、n /属性生成 get,setprivate int min;private int max;max minMaximum temperature must be greater than Minimum temperaturefieldexpression:public class FieldExpressionTestAction /属性生成 get,setprivate int min;private int max;max minMaximum temperature must be greater than Minimum temperaturevisitor把同一个验证程序配置文件

6、用于多个动作(对一个 Bean 写验证文件,每个使用的 Action 只要引用)/UserBeanpublic class UserBean /属性 get,setprivate String name;private int age;/UserBean-validation.xml(和 UserBean 放在同一个包中)用户名必须1899Age must be between 18 and 99/Action 的 validation.xml用户: 如果另一个 Action 对 UserBean 使用另一个标准的验证,可以创建新的验证文件/UserBean-specific-validati

7、on.xml3050Age must be between 30 and 50/另一个 Action 的 validation.xmlspecific用户 1: conversion检查对某个属性进行类型转换是否会导致一个转换错误An age must be an integer.stringlength验证一个非空的字段值是不是足够的长度param:minLength(int);maxLength(int);trim(boolean)614length:6-14regex给定的值是否与一个给定的正则表达式匹配param:expression(String)正则表达式;caseSensitiv

8、e(boolean)是否区别大小写,默认为true;trim(boolean)是否去除前后空格Invalid phone number or invalid format3.在在 action 中验证中验证利用 Validateable 接口实现验证,实现 void validate()方法.ActionSupport 类已经实现了这个接口/继承 ActionSupportpublic class User extends ActionSupport /属性 get,setprivate String userName;private String password;private stati

9、c List userNames = new ArrayList();static userNames.add(“harry“);userNames.add(“sally“);/验证方法public void validate() if (userNames.contains(userName) /添加出错信息addFieldError(“userName“, “ + userName + “ has been taken.“); 4.自定义验证类自定义验证类要创建一个普通的验证程序(非字段验证程序),扩展 ValidatorSupport 类.验证失败要从 validate方法调用 addA

10、ctionError 方法.要创建一个字段验证程序,扩展 FieldValidatorSupport 类.验证失败要从 validate 方法调用addFieldError 方法.如果要能接受参数,要在类中定义一个相应的属性,并生成 get,set.编写类编写类public class StrongPasswordValidator extends FieldValidatorSupport /属性private int minLength = -1;public void setMinLength(int minLength) this.minLength = minLength;publi

11、c int getMinLength() return minLength;/验证方法public void validate(Object object) throws ValidationException String fieldName = getFieldName();String value = (String) getFieldValue(fieldName, object);if (value = null | value.length() -1) & (value.length() 使用验证使用验证8Password must be at least 8 characters longand contains at least one lower case character,one upper case character, and a digit.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号