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 拦截器是在访问某 ...
随机推荐
- GIT 协同开发
Git 是一个开源的分布式版本控制系统,用于敏捷高效的处理任何项目的版本问题.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.与cvs, ...
- 【转】网关协议学习:CGI、FastCGI、WSGI、uWSGI
一直对这四者的概念和区别很模糊,现在就特意梳理一下它们的关系与区别. CGI CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的 ...
- ipfs camp course c demo exercise 1
目录 aim: my bugs 解决ipfs 的 cros 问题的方法 result final code for c1 aim: 首先咱们把 broswer 和 自己的api 连接起来(要显示出来自 ...
- html js中的引号
content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...
- 一个简单的PHP文件下载方法 download
<?php /* * *@param function downloadFile 文件下载 * *@param string $filename 下载文件的路径(根目录下的绝对路径) * *@p ...
- Linux - kali Linux重置密码
1. recovery mode -> E 2. ro -> rw 3. plus init=/bin/bash 4. passwd root
- New Airless Pump Bottle Technical Features
Airless Pump Bottle protect sensitive products such as natural skin creams, serums, foundations a ...
- Unity热更新对比
https://www.jianshu.com/p/f9d90edf4a7c Unity 热更新为啥用Lua 详解 ILRuntime的优势 同市面上的其他热更方案相比,ILRuntime主要有以下优 ...
- getopts以参数形式执行diag
#!/bin/bash ################################################################################# # Copy ...
- 从零构建以太坊(Ethereum)智能合约到项目实战——第24章 IPFS + 区块链
P93 .1-IPFS环境配置P94 .2-IPFS+P .IPNS+P .个人博客搭建 - 如何在IPFS新增一个文件P95 .3-IPFS+P .IPNS+P .个人博客搭建 - 通过ipfs创建 ...