我是靠谱客的博主 魔幻黑夜,最近开发中收集的这篇文章主要介绍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版本?新版本是否有修正?

 

困惑并苦恼中...

 

最后

以上就是魔幻黑夜为你收集整理的Strust2.1.6 类型转换异常处理(type conversion, exception handle)的全部内容,希望文章能够帮你解决Strust2.1.6 类型转换异常处理(type conversion, exception handle)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部