关于Model接收参数的问题

前端:(yyy、zzz是数据库里没有的字段,)

<input name="task.xxx"  type="text" />

<input name="task.yyy"  type="text" />

<input name="task.zzz"  type="text" />

Controller:

Task task = getModel(Task.class)

问题: 这样会提示 The model attribute task.yyy is not exists.

如何将yyy、zzz绑定到Task,并接收到前端传来的值,而又不重写一个bean。

我override  _getAttr这个方法没有效果。

评论区

小李子a

2020-04-14 10:17

在model里写这俩属性并写个get和set试试

风满楼

2020-04-14 11:07

用getBean(Task.clas)或者getModel(Task.clas,true)都可以。
true的意义在于可以跳过没这个字段的时候不报异常。
Class colType = table.getColumnType(attrName);
if (colType == null) {
if (skipConvertError) {
continue ;
} else {
throw new ActiveRecordException("The model attribute " + attrName + " is not exists.");
}
}

JFinal

2020-04-14 11:31

yyy zzz 这类不存在的值也想绑定,通下面的办法
Task task = getBean(Task.class, true);
task.put("yyy", get("task.yyy"));
task.put("zzz", get("task.zzz"));

热门反馈

扫码入社