getBean方法的一个小坑

本人最近两周开始学习jFinal,在使用getBean方法获取前台页面参数时报非法参数异常的错误.通过查看源代码:getBean(...)->Injector.injectBean(...)->Object value = paraValue != null ? converter.convert(types[0], paraValue) : null;到这一句,前台传过来的参数如果没有值,则这一句返回的value值为null,然后再通过反射调用setter方法给bean设置属性值,此时如果我们的bean对应的属性是一个基本数据类型,就会报非法参数异常.通过将bean的基本数据类型属性改成其包装类型,问题解决,不知道大家有没有更好的办法?求赐教!

评论区

JFinal

2017-12-16 17:18

java primative 类型是不支持接收 null 值的,这个目前没什么办法,jfinal 也不太方便干预不去处理 null 值的 setter 注入,因为有些情况 null 是用户需求要求这样的

热门分享

扫码入社