gpt4 book ai didi

templates - Grails 布局可以调用模板吗?

转载 作者:行者123 更新时间:2023-12-01 22:54:55 24 4
gpt4 key购买 nike

我希望我的主布局有条件地放入一些我想在单独文件中定义的 html block 。

我定义了不止一种导航栏。我想要每个导航栏都有一个文件。然后我想在我的 Controller 或特定的 gsp 文件中设置一个变量,以便布局选择要使用的导航器。

最佳答案

您可以通过几种不同的方式来完成此任务。我建议尝试在布局中使用类似的第一种方法:

<g:if test="${nav == 'nav1'}">
<g:render template="/nav/nav1" />
</g:if>
<g:elseif test="${nav == 'nav2'}">
<g:render template="/nav/nav2" />
</g:elseif>
<g:else>
<g:render template="/nav/default" />
</g:else>

为了呈现这些模板,您必须拥有以下文件:

  • grails-app/views/nav/_nav1.gsp
  • grails-app/views/nav/_nav2.gsp
  • grails-app/views/nav/_default.gsp

请注意,由于模板是“根相对”的,因此它从 grails-app/views 目录的根解析模板。请参阅user guide section on Views and Templates了解更多。

另一种方法是基于这样的参数动态渲染导航(在布局中):

<g:render template="/nav/${nav ?: 'default'}" />

或者如果你想深入了解一下兔子洞,你可以做点什么 like this .

如果您仍然遇到问题,那么我想可能还遗漏了其他一些内容,例如将一些模型参数传递给 render tag .

关于templates - Grails 布局可以调用模板吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1910331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com