2

所以我的问题是,希望非常简单。

我有两个不同的域和相应的控制器/视图文件夹等。

我想从第一个 _form.gsp 调用第二个 _form.gsp (在 ag:each 中,因为将有多个要显示的内容)并传入第二个 _form.gsp 的相关数据以进行渲染,我该怎么做?

我知道我可以使用 g:render template = "myotherForm" 但我不知道如何将其指向另一个视图文件夹或如何传递详细信息...

提前致谢,如果需要更多信息,请告诉我...

4

2 回答 2

3

你可以参考这个

Grails 使用放置underscore在视图名称之前的约定来将其标识为模板。

例子grails-app/views/book/_bookTemplate.gsp:

<div class="book" id="${book?.id}">
   <div>Title: ${book?.title}</div>
   <div>Author: ${book?.author?.name}</div>
</div>

然后使用渲染标签

<g:render template="bookTemplate" model="[book: myBook]" />
于 2014-01-24T05:01:09.203 回答
2

你是对的,<g:render是正确的工具。默认情况下,template="myOtherTempalte"它会在当前目录中查找 tempalte,但如果它来自另一个控制器,则可以传递完整路径。喜欢template="/forms/myOtherTemplate"。并用于model=""传递参数,与内部控制器相同:

<g:each in="${things}" var="x">
  <g:render template="/forms/myOtherTemplate" model="${thing: x}"/>
</g:each>
于 2013-06-18T16:14:45.927 回答