开发者社区> 问答> 正文

关于表单绑定boolean类型的问题?报错

model类里面有一个属性:

private boolean haveCar;

但是在表单提交绑定的时候报错:


Caused by: java.lang.RuntimeException: Please add code in class com.jfinal.core.TypeConverter. The type can't be converted: boolean
	at com.jfinal.core.TypeConverter.convert(TypeConverter.java:121)
	at com.jfinal.core.ModelInjector.injectCommonModel(ModelInjector.java:72)
	... 44 more



然后debug到TypeConverter中,发现


是因为我声名成boolean而不是Boolean导致的吗?怎么解决这个问题?

@jfinal

展开
收起
爱吃鱼的程序员 2020-06-14 14:41:04 405 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    楼主,你用包装类Boolean试一试啊 

    privateBooleanhaveCar;

    我看源码中的判断是  Boolean.class==clazz若,clazz是boolean.class,这个判断应该无法通过。

    回复 @ahern88_:先坐等回复回复 @LifeDever:对的,这个地方@jfinal应该要考虑基本类型的,你可以改下源码,提交给詹总改成Boolean就可以了!@jfinal合理吗? @jfinal要注册类型转换?回复 @ahern88_:2.0版本回复 @LifeDever:因为Boolean.class==boolean.class返回的是false,所以没有进入自动绑值得,改成privateBooleanhaveCar;应该可以吧回复 @LifeDever:你将boolean换成Boolean包装类试一试?回复 @LifeDever:jfinal哪个版本,我没用过jfinal,不过我可以帮你看一看。不能自动绑定boolean值吗?@jfinal值类型不能绑定吗?

    引用来自“LifeDever”的评论

    @jfinal值类型不能绑定吗?回复 @JFinal:还有枚举类型的绑定!回复 @LifeDever:那是必须的,所有地方都极速化是jfinal一直的追求希望JFinal能做到不管有没有Model层,都是大家最喜欢的,优先选择的极速开发框架!对对对!就是普通的javabean,因为跟同事协作,他负责webservice给我传数据,所以我根本不需要关注数据库那块,然后就出现了现在的情况。那就期待下一个版本咯!
    2020-06-14 14:41:20
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载