struts2校验

Struts2提供两种校验规则:字段校验器配置风格和非字段配置风格。

字段校验器的格式:

<validators>

<field name=”被校验的字段名”>

<field-validator type=”校验器类型名”>

<param name=”参数名”>参数值</param>

<!—可以有多个参数-->

<message key=”I8Nkey”>校验失败时的提示信息</message>

</field-validator>

</field>

<!--下一个要校验的字段à

</validators>

字段校验器以<field>元素为基本元素,该元素的name属性用来指定被校验的字段。如果该字段需要多个校验规则,可以使用多个<field>元素来增加校验规则(也就是一个字段多个校验器)。子元素<field-validator>用来指定校验规则,具体使用哪个校验器,这取决与属性type.

<param>元素用来校验器传递参数,可以有多个参数。<message>元素用来指定校验器校验失败是的提示信息,其属性key用来指定国际化信息对应的可以。

非字段校验器配置风格

对于非字段校验器,是以校验器优先进行配置的。在这种情况下,以<validator>为基本元素(当然,根元素仍然是<validators>,在根元素下可以多个<validator>元素,每个<validator>元素的形式如下:

<validator type=”校验器类型名”>

<param name=”fieldName”>需要被校验的字段名称</param>

<!--下面的param元素可以有0个或多个-->

<param name=”参数名”>参数值</param>

<message key=”I8Nkey”>校验失败时的提示信息</message>

</validator>

每一个<validator>元素定义一个校验规则,必须为该元素的type属性指定值,决定使用的校验器的名字。由于校验器配置风格是以校验器优先的,所以还要为校验指定一个被校验的字段,也就是要校验的Action属性,可以在<param name=”fieldName”>元素中指定,另外还可以通过多个<param>元素来向校验器传递一些参数。最后同样用<message>元素来指定校验失败时的提示信息,其属性key用来指定国际化信息 对应的key.

Eg

<validators>

<validator type=”requiredstring”>

<param name=”fieldName”>name</param>

<message>姓名不能为空!</message>

</validator>

<validator type=”requiredstring”>

<param name=”fieldName”>pass</param>

<message>密码不能为空!</message>

</validator>

</validators>

规定的这些校验规则是在 xwork2-2.0.4.jar

/com/opensymphony/xwork2/validator/validators/default.xml

<validators>

    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>

    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>

    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>

    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>

    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>

    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>

    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>

    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>

    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>

    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>

    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>

    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>

    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>

    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>

    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>

    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>

</validators>

上一篇:面经手册 · 第22篇《线程池的介绍和使用,以及基于jvmti设计非入侵监控》


下一篇:Android官方开发文档Training系列课程中文版:调用相机之简单拍照