开发者社区> 问答> 正文

波总,我有来了?报错

@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.。这个给人的感觉有点不智能啊,它不会自己映射那些存在的 字段吗?非得每个字段强行映射,强行存在才可以吗?

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

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

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

     

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

     

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

    谢谢波总啊

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

    是我那里代码有问题吗?

    2020-06-08 15:38:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
天合光能-用计算 捉“光的能量” 立即下载
驾驭时空中国⾸辆⾃动驾驶低速电动⻋发布 立即下载
低代码开发师(初级)实战教程 立即下载