struts2的输入校验框架及DTD文件配置
2013-04-11 14:07
459 查看
struts2提供的校验有两种:一种是之前所提到的validate校验方法,另一种就是本篇所要讲的校验框架,通过有效的xml文件,实现不用编写代码,根据校验规则来对指定文件进行校验。
1.xwork-validation-1.0.2.dtd:
<?xml version="1.0" encoding="UTF-8"?>
<!--
XWork Validators DTD.
Used the following DOCTYPE.
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
-->
<!ELEMENT validators (field|validator)+>
<!ELEMENT field (field-validator+)>
<!ATTLIST field
name CDATA #REQUIRED
>
<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
>
<!ELEMENT validator (param*, message)>
<!ATTLIST validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param
name CDATA #REQUIRED
>
<!ELEMENT message (#PCDATA)>
<!ATTLIST message
key CDATA #IMPLIED
>
2.<!ELEMENT validators (field|validator)+> 表示框架验证有两种方式:
(1)字段优先校验(以action中的成员变量作为参照物,实施各种校验)
RegisterAction-validation.xml:(与需要进行校验的action放置一起,命名规则要待验证action-validation)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>username can't be null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">6</param>
<message>username should be ${minLength} and ${maxLength}</message>
</field-validator>
</field>
</validators>
(2)校验器优先校验
![](http://img.my.csdn.net/uploads/201304/11/1365660698_1611.png)
(3)要想查阅各种type的类型,可以打开
![](http://img.my.csdn.net/uploads/201304/11/1365660717_6045.png)
的default.xml
![](http://img.my.csdn.net/uploads/201304/11/1365660738_9252.png)
而如果想查看校验器类型中的属性,可以跟进后面的class中,查看xwork原代码
(4)两种校验框架校验方式可以混合使用,顺序不定。
(5)Struts2框架校验执行的先后顺序:
1) 首先执行校验框架(xml文件)
2) 执行自定义方法的校验方法(validateMyExecute)
3) 执行validate方法
1.xwork-validation-1.0.2.dtd:
<?xml version="1.0" encoding="UTF-8"?>
<!--
XWork Validators DTD.
Used the following DOCTYPE.
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
-->
<!ELEMENT validators (field|validator)+>
<!ELEMENT field (field-validator+)>
<!ATTLIST field
name CDATA #REQUIRED
>
<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
>
<!ELEMENT validator (param*, message)>
<!ATTLIST validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param
name CDATA #REQUIRED
>
<!ELEMENT message (#PCDATA)>
<!ATTLIST message
key CDATA #IMPLIED
>
2.<!ELEMENT validators (field|validator)+> 表示框架验证有两种方式:
(1)字段优先校验(以action中的成员变量作为参照物,实施各种校验)
RegisterAction-validation.xml:(与需要进行校验的action放置一起,命名规则要待验证action-validation)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>username can't be null</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">6</param>
<message>username should be ${minLength} and ${maxLength}</message>
</field-validator>
</field>
</validators>
(2)校验器优先校验
![](http://img.my.csdn.net/uploads/201304/11/1365660698_1611.png)
(3)要想查阅各种type的类型,可以打开
![](http://img.my.csdn.net/uploads/201304/11/1365660717_6045.png)
的default.xml
![](http://img.my.csdn.net/uploads/201304/11/1365660738_9252.png)
而如果想查看校验器类型中的属性,可以跟进后面的class中,查看xwork原代码
(4)两种校验框架校验方式可以混合使用,顺序不定。
(5)Struts2框架校验执行的先后顺序:
1) 首先执行校验框架(xml文件)
2) 执行自定义方法的校验方法(validateMyExecute)
3) 执行validate方法
相关文章推荐
- Struts2输入校验(一)配置文件校验
- struts2的校验文件DTD配置出错的解决方法
- Struts2输入校验(二)非配置文件校验
- Struts2基于XML配置文件实现输入校验
- Spring 学习日记 (四) Spring 整合Mybaits 和 struts2 框架的配置文件
- 7 Struts2输入校验(二)----验证框架
- Struts2基于XML配置文件实现权限校验
- struts2 基于xml 配置文件的输入验证
- 三大框架学习1——struts2的两个核心配置文件
- 复习struts2之基于XML配置文件实现指定方法的输入校验以及基于XML校验的一些特点
- Myeclipse中struts2配置文件配置DTD以支持自动补全
- 使用Struts2验证框架实现输入校验
- Struts2入门:框架结构、处理步骤、配置文件
- struts2 常量配置 及 引入dtd文件
- 关于Struts2基于验证框架的输入校验的经验
- 学习三大框架Struts2 、 Hibernate 、 Spring时,涉及到三大框架的配置文件以及整合。
- struts2使用XML框架进行输入校验
- 框架学习之Struts2 第六节 输入校验
- Struts2输入校验(四) の校验框架——字段校验
- Struts2输入校验(四) の校验框架 ——非字段校验