是否可以在GSP视图中输入数据并在程序内的控制器中使用此数据来执行某些操作,而无需将此数据存储在域中。例如,我有一个g:textField,我输入了我的名字。我希望能够使用我在控制器中输入的名称进行操作。
答案 0 :(得分:2)
从视图传递到控制器的数据都不必与任何特定域对齐。有几种方法可以做到这一点。
观点:
<g:textField name="name" />
控制器:
class SomeController {
def someAction() {
def name = params.name
// do something with name
}
}
您还可以使用Command Object。
命令对象:
@Validateable
class SomeCommand {
String name
static constraints = {
name nullable: false
}
}
控制器:
class SomeController {
def someAction(SomeCommand someCommand) {
if (!someCommand.hasErrors()) {
def name = someCommand.name
// do something with name
}
}
}