struts2使用XML框架进行输入校验

struts2使用XML框架进行输入校验:

 

1、取名规则:校验的class文件名-validationv.xml【全局校验】

 

eg:校验PointAction类  取名为PointAction-validationv.xml

 

2、如何编写该xml文件:

 

请查看validators.xml[struts目录下的apps文件夹下的范例中] 截取其头部的xml定义

 

<validators>根元素 里面包含<field|validator>+

 

field元素下包含 <field-validator>+

field-validator 元素下包含 <param*,message>

 

<validator> 元素下包含<field-validator>

field-validator 元素下包含 <param*,message>

 

示范:

----------------------------------------------------------------------------------------------------------------------------

头部的xml定义

<!--第一种实现方式:field-字段校验方式-->

<validators>

 

    <field name="age">

<!--field-validator可以有多个,每一个代表一种校验方式-->

            <field-validator type="int">

                <param name="trim">true</param>

                <message>age should be a Iterger</message>

            </field-validator>     

 

            <field-validator type="stringlength">

                <param name="minlength">6</param>

                <param name="maxlength">12</param>

                <message>age should be between ${minlength}and ${maxlength}</message>

            </field-validator>         

    

    </field>

 

</validators>

 

--------------------------------------------------------------------------------------------------------------------------

<!--第二种实现方式validator 非字段校验方式-->

<validators>

<!--validator可以有多个,每一个代表一种校验方式 ! param name=“fieldName” 固定不变-->

            <validator type="int">

                <param name="fieldName">age</param>

                <message>age should be a Iterger</message>

            </validator>     

 

            <field-validator type="stringlength">

                <param name="fieldName">age</param>

                <param name="minlength">6</param>

                <param name="maxlength">12</param>

                <message>age should be between ${minlength}and ${maxlength}</message>

            </fvalidator>         

 

</validators>

------------------------------------------------------------------------------------------------------------------------

局部校验方式:如上篇所述,如在<action name="Register" class="com.xx.xx.PointAction" method="aaa">

指定了method的属性值时,我们可以采用编写名为PointAction-aaa-validation.xml

 

注意:执行时如果有PointAction-aaa-validation.xml 和PointAction-validation.xml两个文件,先执行PointAction-validation.xml文件,紧接着执行PointAction-aaa-validation.xml !

 

补充点:

 

当验证信息不是很复杂的情况下,建议使用xml框架方式;

真正存放field级别错误信息对象的是linkedHashMap;

该linkedHashMap的key值是string类型,而value值是arraylist类型的;

真正存放error级别错误信息对象的是arraylist;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值