如何在Grails中向控制器发送许多变量

时间:2015-04-16 17:42:46

标签: grails gsp

我可以在表单中将一个实例发送到我的控制器使用资源属性:

<g:form url="[resource:appealInstance, action:'save']">
......  
<g:submitButton name="create"/>
</g:form>

def save(Appeal appealInstance) {
}

但我怎样才能发送多个实例?我试着做一些像

这样的事情
<g:form url="[resource:[appealInstance, documentInstance], action:'save']">

 def save(Appeal appealInstance, Document documentInstance) {
 }

但它不起作用

1 个答案:

答案 0 :(得分:3)

为什么不使用隐藏的表单参数?

<input type="hidden" name="appealInstance.id" value="${appealInstance.id}" />
<input type="hidden" name="documentInstance.id" value="${documentInstance.id}" />

afaik,这应该可以解决问题。 params数组也应该是引用对象(http://grails.github.io/grails-doc/latest/ref/Tags/form.html

的好位置

http请求永远不会发送整个对象,只发送引用或属性的内容。您可以在文档中阅读有关Grails数据绑定的更多信息:http://grails.github.io/grails-doc/latest/guide/theWebLayer.html#dataBinding