第一种方法:普通配置文件校验
在Action所在包下建立Action-validation.xml或Action-method-validation.xml,前者是对Action中所有的方法进行校验,而后者是对某一个method进行校验,具体格式如下(对用户姓、名、年龄校验)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="user.firstname">
<field-validator type="requiredstring">
<message>required first name</message>
</field-validator>
</field>
<field name="user.lastname">
<field-validator type="requiredstring">
<message>required last name</message>
</field-validator>
</field>
<field name="user.age">
<field-validator type="required">
<message>required age</message>
</field-validator>
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>age should be between ${min} and ${max}</message>
</field-validator>
</field>
</validators>
第二种方法:使用visitor进行校验
第一:先在Action包下建立Action-validation.xml或Action-method-validation.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="user"> <field-validator type="visitor"> <param name="context">user</param><!-- 具体的校验文件 --> <param name="appendPrefix">true</param><!-- 是否添加前缀 --> <message>user's </message><!-- 前缀 --> </field-validator> </field> </validators>
第二:在Bean所在的包下建立BeanName-contextValue-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="firstname">
<field-validator type="requiredstring">
<message>firstname required</message>
</field-validator>
</field>
<field name="lastname">
<field-validator type="requiredstring">
<message>lastname required</message>
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message>age required</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="max">150</param>
<param name="min">1</param>
<message>age should be between ${min} and ${max}</message>
</field-validator>
</field>
</validators>
第三:重写validater方法进行校验(略)
本文详细介绍了Struts2框架中的两种验证方法:通过配置文件进行校验和使用visitor进行校验。首先,通过Action-validation.xml或Action-method-validation.xml文件进行普通配置文件校验,可以对Action中的所有方法或特定方法进行字段验证。其次,利用visitor方式实现更灵活的验证逻辑,通过在Action包下定义特定的验证文件,并结合BeanName-contextValue-validation.xml文件完成复杂校验。
587

被折叠的 条评论
为什么被折叠?



