如何在模型中获取参数(在 Grails 中)?params.
模型中不存在。
问问题
926 次
3 回答
4
如果“模型”是指域模型类,它们没有参数,它们只是 POJO。据我所知,参数仅适用于控制器。
于 2013-02-20T14:18:30.313 回答
0
如果您的参数名称格式正确并与域属性匹配,则可以执行以下操作:
假设
params = [name:"some name", age: "194", civilState: "MARRIED"]
和
class Person{
String name
Integer age
CivilStatus civilState //some enum
}
您可以在控制器中像这样利用 groovy 的属性绑定构造函数:
class Controller {
def saveAction = {
new Person(params)
}
}
于 2013-02-20T14:57:29.827 回答
0
据我了解,您有一种特殊的方法可以从请求中填充域。在这种情况下,您可以将所有参数(它是一个 Map)传递给这样的方法,例如:
def MyDomain {
static MyDomain buildFromParams(def params) {
return new MyDomain(
field1: params.field_1, //assuming that your params have different naming scheme so you can't use standard way suggested by Raphael
field2: params.field_2
)
}
}
class MyController {
def myAction() {
MyDomain foo = MyDomain.buildFromParams(params)
}
}
于 2013-02-20T14:42:16.833 回答