您的位置:首页 > 编程语言 > Java开发

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)校验器优先校验





(3)要想查阅各种type的类型,可以打开

的default.xml




而如果想查看校验器类型中的属性,可以跟进后面的class中,查看xwork原代码

(4)两种校验框架校验方式可以混合使用,顺序不定。

(5)Struts2框架校验执行的先后顺序:

1) 首先执行校验框架(xml文件)

2) 执行自定义方法的校验方法(validateMyExecute)

3) 执行validate方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: