struts2的validation框架

有两种方式使用该框架:
1,把验证集中Action的验证文件中;当验证的内容少或者不同的action验证的内容重复性小的时候使用。
配置:在action所在目录下面建立action类名-validation.xml文件
示例配置:
<validators>
    <field name="userBean.firstname">
        <field-validator type="requiredstring">
            <message>request firstname</message>
        </field-validator>
    </field>
     
  <field name="userBean.age">
        <field-validator type="required">
            <message>request integer</message>
        </field-validator>
    <field-validator type="int">
            <param name="min">1</param>
            <param name="max">150</param>
            <message>should between ${min} and ${max}</message>
    </field-validator>
   </field>
</validators> 



注意
a、userBean是action的成员变量名。
b、一个字段的多个验证可以写在一起,参见age
c、可以使用表达式引用设定的参数值,为${参数名}的形式。

2,把验证集中在bean的验证文件中;当多个action都需要对相同的bean内容进行验证的时候使用。
配置:这种方式把要具体验证的bean的验证项写在另外一个validation文件中。需要两个validation文件
示例配置:
第一个validation文件(与action同路径):
<validators>
 <field name="userBean">
        <field-validator type="visitor">
            <param name="context">user</param>
            <param name="appendPrefix">true</param>
            <message key="appendPrefix">user''s </message>
        </field-validator>
    </field>
</validators> 
第二个validation文件(与bean同路径)
<validators>
    <field name="firstname">
        <field-validator type="requiredstring">
            <message>request firstname</message>
        </field-validator>
    </field>
   <field name="age">
        <field-validator type="required">
            <message>request integer</message>
        </field-validator>
        <field-validator type="int">
            <param name="min">1</param>
            <param name="max">150</param>
            <message>should between ${min} and ${max}</message>
        </field-validator>
    </field>
</validators>

注意的地方
a、userBean指定了action中变量的名字
b、visitor是固定写法
c、user是另外一个validation文件的名字中的一部分
d、文件名命名:为bean类名-context参数指定的值-validation.xml
e、文件中有字段名字的地方,不需要有userBean的前缀

     




你可能感兴趣的:(struts)