Struts2 validator

一般struts2校验器有二种写法:


一、直接在Action里面继承ActionSupport,重写validatate()方法,为当前Action的全局校验器;或定义validate[Method Name]的方法,后台会在执行某Method前,利用反射机制,调用该Method的校验器。

校验器方法里面编写校验规则,一般用AddActionError("error Message") 或 AddFieldError(Filed name,"error Message")等两种方法。

他们的区别在:

AddActionError 底层由ArrayList<String>维护,也就说明每检验到一个错误,就将其存入到ArrayList中,对于每种错误结果,系统并不知道是对应哪个字段。

AddFieldError 底层由Map(String, ArrayList<String>) 维护,也就说明单一字段可以对应多个检测结果。

最后在该Action的当前目录下创建ActionName.properpies属性文件,配置对应字段在类型转换出错时的提示信息。

格式如下:invalid.fieldvalue.FiledName = "Filed Name convert error"



二、利用由Xwork底层为我们实现的校验框架,步骤如下:

1)直接在Action当前目录下创建名为 ActionName-validation.xml文件。

2)导入DTD规则文件:<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

3)选择字段校验器或者非字段校验器

4)编写校验规则,由com.opensymphony.xwork2.validator.validators.default.xml提供的以下校验器

    <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"/>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值