Struts2校验功能实现小结

Struts2校验功能实现小结:

(1) Action是实现Action接口

只能完全手动在execute编写校验代码,如果要给用户错误提示信息,必须在Action中定义一个属性来存放错误信息。

(2) Action是继承ActionSupport类

ActionSupport提供了很多校验相关的成员变量,如:错误信息不需要再声明一个属性来存放,而只需要调用addFieldError方法便可给用户提示错误信息(前提是你的jsp页面使用的是Struts标签,否则不会显示)

1), 完全手动在execute编写校验代码

2),validate方法中实现校验,即把校验代码从execute方法中提取出来放到validate方法中,这样大大提高了代码的可读性,便于维护。

      Validate实现校验的原理是:当程序执行到Action时,先判断Action有没有实现validate方法,如果实现了,则先执行validate方法,再执行execute方法;如果,没有实现,则直接执行execute方法。

(3) 使用注解

原理:当程序执行到Action,但是还没执行到Action里的方法时将其拦截,转而执行校验器(其实就是一个java文件),校验器执行完再返回Action继续执行。

使用时需要导入包:com.opensymphony.xwork2.validator.annotations.jar

使用注解校验的步骤:

1),在你的Action中打开注解校验功能,即加上@Validation()注解

如:@Validation()

public class ExampleAction1 extends ActionSupport {

        2),setter()方法或是execute()方法添加校验器(在哪个方法添加都一样)

如:@RequiredStringValidator(type=ValidatorType.FIELD,message="不能为空!")

public void setName(String name) {

          

         3),配置struts.xml文件,即配置拦截器,开启校验功能(红色字体部分)

如:<action name="test" class="action.ExampleAction1">

           <interceptor-ref name="validationWorkflowStack" />

            <result name="success">/WEB-INF/page/message.jsp</result>

            <result name="input">”错误页面”</result>

        </action>

提示:这里也可以使用completeStack, validationWorkflowStackvalidationworkflow拦截器进行了封装。

completeStack, validationWorkflowStack的区别?

(4)注意:当使用validate方法或是注解来校验时,别忘了提供返回值为inputresult,代表拦截器失败或者校验器失败时要跳转到的页面。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值