g:在grails中的模板体内设置标签

时间:2015-02-06 02:50:03

标签: grails gsp

我在<g:set>模板正文

中使用g:render标记
<g:render template="/template/panelContainer">
  <g:set var="tomorrow" value="${new Date() + 1}"/>
  ${tomorrow}
</g:render>

_panelContainer.gsp:

<div class="panel panel-default">
${raw(body())}
</div>

但是未设置tomorrow变量。如何实现模板以正确执行g:set标记?

2 个答案:

答案 0 :(得分:2)

首先,您需要在调用render方法之前设置变量。

<g:set var="tomorrow" value="${new Date() + 1}"/>

然后,您可以使用model属性在模板中传递此变量。像:

<g:render template="/template/panelContainer" model="${[tomorrow:tomorrow]}"/>

您尝试使用的body()用于传递要在模板内显示的其他正文内容。像:

<g:render template="/template/panelContainer" model="${[tomorrow:tomorrow]}">
  <a href="..">..</a>
</g:render>

答案 1 :(得分:1)

试试这个:

<g:set var="tomorrow" value="${new Date() + 1}"/>
<g:render template="/template/panelContainer" model="${[tomorrow:tomorrow]}"/>