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 拦截器是在访问某 ...
随机推荐
- JDBC 通过读取文件进行初始化
- PyQt5设置图片格式及动画
1.缩放图片'''使用QImage.Scale(width,height)方法可以来设置图片'''from PyQt5.QtCore import *from PyQt5.QtGui import * ...
- Debian9安装Metasploit
参考博文:https://www.jianshu.com/p/ea0629b9e367 0x0 添加Kali源 deb http://http.kali.org/kali kali-rolling m ...
- 如何用VBA代码依次打开文件夹下的Excel文件
'Check Public Function Check() As Variant On Error GoTo erlb Dim StrDir As String StrDir = T ...
- zookeeper 启动和停止脚本
启动 sh zkServer.sh start 停止脚本 sh zkServer.sh stop
- sql server alter column identity
上网找 alter column identity 语句,将表中的一个字段调整成自动新增.发现没有. 跟踪了一下sql server 执行这一动作的语句,发现是新建了新表,将字段修改成自动新增,然后将 ...
- 将网站转换为Web应用程序
1.新建web应用程序,清除应用程序中默认生成的文件 2.将网站中的文件复制到web应用程序中 3.将网站的App_Code文件重命名 4.右键web应用程序,点击将转换为应用程序项目 5.添加引用 ...
- Dart语言学习(十四) Dart泛型
什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value) ...
- netty集成springboot
一 前言 springboot 如何集成netty实现mapper调用不为null的问题让好多读者都头疼过,知识追寻者发了一点时间做了个基本入门集成应用给读者们指明条正确的集成方式,我相信,只要你有n ...
- javascript 变量、常量 、 函数 声明
声明变量: 方式一: 使用 var 定义变量,可在定义的同时赋值 或 不赋值 . 方式二: 直接使用[变量名 = 值]的形式,这会定义一个全局变量,但在严格模式下会出现引用错误.[不建议使用] 方式三 ...