JFinal 提交form,后台getmodel,但需要额外传递两个参数的麻烦事。

会哭的鳄鱼 发布于 2016/07/17 23:27
阅读 925
收藏 0

【领华为电脑包】容器化时代到来!跳转机分配问题终于“有救”了!>>>

@JFinal ,我现在遇到一个问题,前台form里面字段都是model对应的表中的字段,现在form提交到后台后,后台getmodel,可以保存进数据库。但现在我需要额外传递两个参数,这两个参数不是model对应表里的字段,该如何做呢?以前也遇到过,但都被动的绕过去了,但这次真的绕不过去了!

谢谢!

加载中
0
JFinal
JFinal
   先 getModel(...) 得到了个 bean,然后 bean.put(name, getPara(...)) 即可
会哭的鳄鱼
会哭的鳄鱼
回复 @JFinal : 似乎明白了,只是这两个额外的参数不需要往model里设置的,后面那个model.put方法不执行就行了,这两个参数,我只是为了标注后台业务处理的时候,需要一个判断。
JFinal
JFinal
回复 @会哭的鳄鱼 : 额外两个参数,你不要用model前缀,直接是 <input name="abc" > 这种形式,后端在 getModel(...)完事以后,再 model.put("abc", getPara("abc"));
会哭的鳄鱼
会哭的鳄鱼
没看太懂!那两个额外的参数,也放到form中吗?如果也放到form中,getmodel的时候会提示那两个参数不是表中的字段。另外,就算得到这个bean,用bean.put方法,是把那两个额外的字段去掉吗?@JFinal
0
stu51
stu51

getModel(modeName.class, "", true);

额外的字段直接getPara("字段名");

会哭的鳄鱼
会哭的鳄鱼
getmodel的true参数,就是不验证form提交的字段是否在表中存在是嘛?
0
车开源
车开源
如果能在Model里通过注解把不在数据表中属性字段标注,又可以直接通过Bean获取
0
会哭的鳄鱼
会哭的鳄鱼
@JFinal ,我用的是2.0版本!
0
会哭的鳄鱼
会哭的鳄鱼
modelName 用来区分表单中不同的 model,某些时候,一次表单提交可能要提交多个model,如果不使用modelName来区分则无法实现。 另外 modelName 还用来排除掉非 getModel 属性,有些表单字段并不需要存放到 model中去,而仅仅只需要通过 getPara(fieldName) 来获取,例如在某个 action 中你可能是这样做: User user = getModel(User.class); Article article = getModel(Article.class); String otherValue = getPara("otherField"); 如上的代码,如果不使用 modelName,无法区分表单中的属性哪些是属于User,哪些属于Article,哪些是属于 otherValue 的。 这是两年前@JFinal回答关于getModel里的modelName参数的使用的内容,基本解决了我这个问题。看来还是原理没搞懂!
返回顶部
顶部