struts2类型转换、输入校验总结

下面讲解类型转换和输入校验的关系:对于struts2来说。总是先执行类型转换,然后再执行输入校验。在执行过程中,比如像这里的输入校验的例子不会报出age required的错误,而是会报出不在范围内的错误,为什么呢,流程是这样的,页面在age输入框里不输入任何信息点击提交,然后到达Action,试图想要把空转化为数字飞,发现转化不成功,然后又试图去寻找setAge( age)这样的方法发现找不到,然后就不调用age的set方法了,然后在Action里的age属性就会取整型的默认值0,然后到达输入校验发现age属性不是空或null然后就不会报age required这样的错误了,而是会报不在要求的年龄范围内。(注:这里不会调用setAge(int age)这样的方法,而是去寻找参数为String的方法)。


现在我们了解到的校验方法有两种,一种是我们自己编写代码校验(validate方法),另一种是使用校验框架,当这两种都使用的时候会出现什么什么情况呢?结果是都会执行,校验框架先执行,自己编码校验后执行。


类型转换、输入校验等执行流程:
[size=large][color=red]1、首先执行类型转换
2、执行对应的校验框架。
3、执行特定方法对应的validate验证(例如test方法对应validateTest校验方法)
4、执行validate()方法[/color][/size]

如果在以上所有过程中,发现了任何错误,都不会再去执行execute()方法或指定的特定方法(test),页面转向了struts.xml中input这个result所对应的页面。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值