在另一个视图gsp中使用一个视图gsp



我的问题很简单。

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

我想调用第二个_form。GSP从第一个_form。GSP(在一个g:each中,因为将有多个内容要显示)并传递第二个_form的相关数据。从gsp渲染,我怎么做?

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

如果需要更多的信息,请提前告诉我。

你可以参考这个

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]" />

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

<g:each in="${things}" var="x">
  <g:render template="/forms/myOtherTemplate" model="${thing: x}"/>
</g:each>

相关内容

  • 没有找到相关文章

最新更新