2015-02-06 30 views
1

模板体内设置标签使用<g:set>标签我g:render模板体内克:Grails中

<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标记?

回答

0

试试这个:

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

这是有效的,但我花了几个小时试图了解为什么不工作模板内。 – 2015-02-06 16:01:19

1

首先,你需要调用渲染方法之前设置变量。

<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>