我们不能将grails表单链接到bean

时间:2014-07-28 10:31:26

标签: grails gsp

在Struts和JSF中,我们将表单链接到bean(例如JSF中的支持bean)。 但是在grails中,我们使用params来设置bean的值。有没有其他方法可以自动将表单映射到bean?

2 个答案:

答案 0 :(得分:1)

Grails可以将params映射中的值自动绑定到给定的域实例/命令对象。这可以通过将正确的bean定义为控制器方法的参数来实现。举个例子:

控制器:

class AuthorController {
  def save(Author author) {
    // matching param values are bound to the author instance
    assert params.name == "myName"
    assert author.name == "myName"
  }
}

gsp with form:

<g:form controller="author" action="save">
  <g:field name="name" value="myName" />
  <g:submitButton name="save" value="Save" />
</g:form>

答案 1 :(得分:0)

有时最好使用Grails提供的命令对象,域类只能与表单字段的名称和类的属性名称匹配。 但Command Objects可以提供验证和抽象的中间层来生成模型bean。

http://grails.org/doc/2.3.0/guide/single.html#commandObjects