我是靠谱客的博主 魔幻黑夜,最近开发中收集的这篇文章主要介绍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)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复