struts2--自定义校验器
来源:互联网 发布:张子枫清华附中知乎 编辑:程序博客网 时间:2024/06/01 23:55
以输入密码必须由字母和数字组成说明:
自定义拦截器:
定义一个验证器的类:
> 自定义的验证器都需要实现 Validator接口.
> 可以选择继承 ValidatorSupport 或 FieldValidatorSupport 类,这两个类都实现了Validator接口了;FieldValidatorSupport继承ValidatorSupport,FieldValidatorSupport用于 字段验证
> 若希望实现一个一般的验证器, 则可以继承 ValidatorSupport
> 若希望实现一个字段验证器, 则可以继承 FieldValidatorSupport
实现的校验器类MyValidate.java
package com.validator;import com.opensymphony.xwork2.validator.ValidationException;import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport;public class MyValidate extends FieldValidatorSupport{@Overridepublic void validate(Object object) throws ValidationException {String fieldName = super.getFieldName();//获取字段名String value = (String) super.getFieldValue(fieldName, object);if(value == null || value == ""){return;}if(!isNum(value)){addFieldError(fieldName, object);}} private static final String GROUP = "0123456789"; private static final String GROUP2 = "qwertyuioplkjhgfdsazxcvbnm"; public boolean isNum(String value) {boolean fag1 = false;boolean fag2 = false;for(int i = 0; i < value.length(); i++){if(fag1&&fag2){return true;}String sub = value.substring(i, i+1);if(!fag1){if(GROUP.contains(sub)){fag1 = true;continue;}}if(!fag2){if(GROUP2.contains(sub)){fag2 = true;continue;}}}return false;}}> 默认情况下, Struts2 会在 类路径的根目录下加载 validators.xml 文件. 在该文件中加载验证器.
该文件的定义方式同默认的验证器的那个配置文件: 位于 com.opensymphony.xwork2.validator.validators 下的 default.xml
> 若类路径下没有指定的验证器, 则从 com.opensymphony.xwork2.validator.validators 下的 default.xml 中的验证器加载
所以,需要在src目录下定义一个validators.xml 文件
代码实现如下:
validators.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator Config 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd"> <!-- 此DOCTYPE和default.xml中的一致 --><validators><!-- 验证器注册 --> <validator name = "test" class = "com.validator.MyValidate"/></validators>
LoginAction-validation.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd"> <validators> <validator type = "test"> <param name = "fieldName">user.password</param> <message>密码必须由数字和字母组成</message> </validator></validators>
LoginAction类:
package com.action;import com.bean.User;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{ private User user; public String execute() {return SUCCESS;}public User getUser() {return user;}public void setUser(User user) {this.user = user;} }
阅读全文
0 0
- struts2--自定义校验器
- struts2之自定义校验器
- Struts2 regex校验器
- Struts2内置校验器
- struts2校验器
- Struts2 校验器
- Struts2中的校验器
- struts2 校验器概述
- Struts2校验器
- struts2中的校验器
- struts2---校验器
- Struts2内置校验器
- struts2校验器
- Struts2内置校验器
- struts2的校验器
- Struts2拦截器校验
- struts2的校验器
- Struts2校验器详解
- [(ngModel)]的实现原理
- Android 自定义弹出菜单和对话框
- hdu 6114 Chess
- mysql group_concat 分组,多字段统一排序及输出数据到java
- Java Servlet完全教程
- struts2--自定义校验器
- Eclipse报错Could not resolve archetype
- 扩增子分析解读6进化树,Alpha,Beta多样性
- 菜鸟学习大数据技术的过程
- request.getSession(true)和request.getSession(false)的区别
- IDA 汇编命令分析以及函数调用过程
- js跳出循环的方法区别(break,continue,return)
- 【连载】计算机组成原理 --- 第三章存储系统
- Android 6.0 解决recyclerview 在 scrollview 中不能全部显示,高度不正常的问题