Struts2的validate

 Struts2的validate有基于编码和xml配置的两种方式实现,下面是我的一些学习总结,无论是采用那种方式,需要使用struts validate功能的类都要继承ActionSupport这个类,并且要在struts.xml文件中提供input视图:

1. 基于编码方式的实现

a)首先要在使用struts validate的Action类里,让它继承 ActionSupport这个类,然后override掉里面的validate方法。validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为inputresult。在input视图中可以通过<s:fielderror/>显示失败信息。

b) 通过validateXxx()方法实现, validateXxx()只会校验action中方法名为Xxx的方法。其中Xxx的第一个字母要大写。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为inputresult。在input视图中可以通过<s:fielderror/>显示失败信息。

 

2.基于XML方式的实现

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">

<validators>

    <field name="username">

        <field-validator type="requiredstring">

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

            <message>用户名不能为空!</message>

        </field-validator>

    </field>

</validators>

 

 

ActionClassName

 

-validate.xml实现的validate和1.a)相同,会对

 

ActionClassName

 

的类所有方法进行校验;倘若只想对

 

ActionClassName

 

的类特定的方法校验,该xml文件可以这样命名

ActionClassName-action-validate.xml

 


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值