波总,我有来了

熊猫你好 发布于 2017/04/12 15:10
阅读 139
收藏 0

@JFinal 你好,想跟你请教个问题:波总你好,我页面form表单里面,<input name='test'> ,通过序列化传送$('#cbf').serializeObject(),后台getModel(xx.class,"");,数据表xx里面没有test字段,但是我其它表需要用到test,这个字段,让后就报错了com.jfinal.plugin.activerecord.ActiveRecordException: The model attribute cbfxb is not exists.。这个给人的感觉有点不智能啊,它不会自己映射那些存在的 字段吗?非得每个字段强行映射,强行存在才可以吗?

加载中
0
JFinal
JFinal

后面多添加一个参数: getModel(Xx.class, "", true),然后对于不存在的字段,用 put 方法单独放一下:

mode.put("test", getPara("test"));

 

不是 jfinal 不愿意处理这个属性,是因为 java 是静态类型语言,在放的时候并不知道你的这个 test 字段要转换成什么类型,那些在数表中存在的字段 jfinal 通过反射可以知道类型

 

当然,有人可能会建议全部采用 string 型去处理,但 jfinal 的设计风格里:做越多可能错越多

熊猫你好
熊猫你好
谢谢波总啊
0
熊猫你好
熊猫你好

其实,这个有时候是会智能映射,但有时候又必须要求,所有传送的字段,数据库都必须存在。

0
熊猫你好
熊猫你好

是我那里代码有问题吗?

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部