Strust2.1.6 类型转换异常处理(type conversion, exception handle)

最近遇到一个问题,例如表单中有个age字段,为int类型,但是该属性没填或者填的是字符串.

当表单提交的时候,struts2的拦截器会对age字段进行类型转换.

我使用了验证框架的是required与int验证器对该字段进行了验证.

可以肯定的是,转换失败的话确实能够返回到view层,并且能提示自定义的转换异常信息.

但是,在myeclipse的控制台依然会打印setAge()异常,说ognl method not found, 程序没有找到setAge(String age)方法...

 

在网上找了几天,只找到这种解决方法:

=> 把PO类的age属性类型改为包装类,Integer.这样,当表单提交了空值或者字符串的时候,就不会导致说类型不正确而引起的method not found 异常.

到apache上去看文档,也似乎没发现有什么解决方法...

 

设想一下,以下方法能否解决问题呢?

1. 在验证文件中使用正则表达式先进行验证,然后短路?

2. 目的就是不让它打印出异常信息.那能否用log4j记录就算了? 呵呵,掩耳盗铃.

3. 升级Struts2到2.1.8.1版本?新版本是否有修正?

 

困惑并苦恼中...

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值