如何在Grails中的GSP和控制器之间传递数据而不存储在数据库中?

时间:2015-05-29 16:12:13

标签: grails controller gsp

是否可以在GSP视图中输入数据并在程序内的控制器中使用此数据来执行某些操作,而无需将此数据存储在域中。例如,我有一个g:textField,我输入了我的名字。我希望能够使用我在控制器中输入的名称进行操作。

1 个答案:

答案 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
    }
  }
}