struts2--验证器
1、输入验证:
--struts2提供了一些基于Xwork Validation Framework的内建验证程序,使用这些验证程序不需要变编程,只要在一个XML文件里进行声明,声明的内容如下:
> 哪些字段需要验证;
> 使用什么验证规则;
> 确定验证失败时的相应页面;
--也可以通过编写代码来验证输入;
--步骤:
> 1)在Action所在包中创建配置文件:ActionClassName-validation.xml
> 2)填写验证信息:其中message中的信息也可以从国际化配置资源获取
> 若一个Action类能够处理多个action请求,每个action请求使用不同的规则,则需要为每一个action请求定义其对应的验证文件:
ActionClassName-actionName-validation.xml
--原理:
> struts2默认的拦截器中提供了validation拦截器;
> 每个具体的验证规则都会对应一个验证器;
2、struts2内建的验证程序:
--required: 确保给的字段不是空值null;
--requiredstring: 确保给的字段不是空值null,也不是空白;
--stringlength: 验证一个非空的字段是否有足够的长度;
--date: 确保某给定日期字段的值落在一个给定的范围内;
--email: 验证是否为一个合法的email;
--url: 延时是否为一个合法的url;
--conversion:检查对给定Action属性进行的类型转换是否会导致一个转换错误。该验证程序还可以在默认的类型转换消息的基础上添加一条自定义的消息;
3、短路验证:若对一个字段设置多个验证器,默认会执行所有验证器,开启短路验证short-circuit = “true”,若前面的验证未通过,则后面的验证器不会继续验证;
4、对于非字段验证:不是针对某一字段验证
5、自定义验证器:
--1)自定义验证器必须实现Validation接口;
> ValidatorSupport和FieldValidatorSupport实现了Validation接口;
> 若需要普通的验证程序,可以继承ValidatorSupport类;
> 若需要字段验证程序,可以继承FieldValidatorSupport类;
--2)注册验证程序:在validators.xml文件中注册
> 验证框架首先在根目录下查找validators.xml文件,若不存在validators.xml文件,验证框架将调用默认验证设置,即default.xml;
6、编程式验证:
--Action类实现Validateable接口(可以继承ActionSupport类),重写public void validate()方法进行验证;
7、验证框架原理:

struts2--验证器的更多相关文章
- struts2验证器
1. Struts2 的验证(note6,struts2-8) 1). 验证分为两种: > 声明式验证* >> 对哪个 Action 或 Model 的那个字段进行验证 >&g ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
- 基于SSH2框架Struts2拦截器的登录验证实现(转)
大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了.那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证. 修改数 ...
- Struts2拦截器登录验证
Struts2拦截器 Struts2拦截器的概念和Spring Mvc拦截器一样. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截 ...
- 基于struts2框架-自定义身份证号验证器
自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口. > 可以选择继承 ValidatorSupport 或 FieldValidato ...
- 自己定义验证器——用Struts2框架以框架师的思维灵活做好该事情
面对的问题:自己定义一个18位身份验证器.编写验证器.在validators.xml文件里进行注冊.在验证配置文件里使用? 第一部分:理解Struts2中自带的验证器 第二部分:如何通过server( ...
- struts2 基础4 验证器、 国际化
验证器: 验证器:用户输入验证 1.手动编程方式 )对于动作类中所有方法进行验证 a.动作类继承ActionSuport b.覆盖调用public void validate(){} 方法 c.在va ...
- 浅谈Struts2拦截器的原理与实现
拦截器与过滤器 拦截器是对调用的Action起作用,它提供了一种机制可以使开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行.同时也是提供了 ...
- (七)Struts2 验证框架
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 验证简介 Struts2 基于Struts2 拦截器,为 ...
- (三)Struts2 拦截器
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:拦截器简介 (百度百科Struts2) Struts2 拦截器是在访问某 ...
随机推荐
- python数组冒号取值操作
1.冒号的用法 1.1 一个冒号 a[i:j] 这里的i指起始位置,默认为0:j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j) 在一个冒号的情况下 ...
- RobotFramework+Selenium2环境搭建与入门实例
一.安装包 1.Python(推荐使用ActivePython,这个版本PATH已经配好了,也安了一些像pip这样的包) ActivePython-2.7.2.5-win32-x86.msi 2.Wx ...
- IPSec的链路和设备备份
链路备份的IPSec VPN和设备备份的IPSec VPN:首先实验的是链路备份的 IPSec VPN,下面是实验拓扑: IP地址配置:R1(Branch):Branch(config-if)#ip ...
- Python学习笔记010
倒三角 num2 = int(input("Line:")) while num2 > 0: num1 = num2 while num1 > 0: ...
- 在Windows上使用Docker运行.NET COE应用
在Windows上使用Docker运行.NET COE应用 执行步骤: 1:安装Docker For Windows(注意:docker for windows-64位Windows 10.必须开启 ...
- C/C++网络编程6——实现基于UDP的服务器端/客户端
通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的.所以虚实现并发的服务器端 ...
- git切换分支导致代码丢失找回(git reflog找回错误的重置)
1.使用git reflog查看日志 2.切换到丢失的分支 3. 创建一个临时分支 如(diff),并切换到dev(原分支),然后合并diff到dev分支 4.查看状态 5.强制合并,然后提交到de ...
- 【代码总结】GD库中图片缩印
bool imagecopyresampled ( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src ...
- ubuntu---CUDA 安装注意点总结
安装CUDA前的基础准备: 1.查看内核.gcc版本并记住. 最好 禁止内核更新,以防止以后工作中意外的系统更新使内核自动更新了,与驱动版本不兼容了. 2.禁用 nouveau驱动. 3.多下 ...
- tensorflow文本分类实战——卷积神经网络CNN
首先说明使用的工具和环境:python3.6.8 tensorflow1.14.0 centos7.0(最好用Ubuntu) 关于环境的搭建只做简单说明,我这边是使用pip搭建了python的 ...