2014-08-30 54 views
1

我有一个布局文件。我想在每个我的网页继承该布局是这样的:gsp内部的Dereferecing html

Just ${step} Steps Away From The Awesome!! 

所以在我的布局,我已经定义了一个字符串如上述的占位符step。我不想从控制器传递这个占位符的值。我希望在继承此布局的gsp中定义它。

我一直在寻找像<g:set var="step" value="1"/>(或2或3取决于gsp)的东西。但是,如果我像那样定义它,那么它不起作用。那么,如何在每个扩展布局内部取消引用“step”的值?

回答

0

完成此操作的最佳方法之一是使用content blockspage properties。这些都是从Sitemesh派生的功能。

我假设您只想在使用布局的页面提供值时有条件地包含此信息。所以在我的例子中,我用快速的if检查来包装它。

在您的布局:

<g:if test="${pageProperty(name: 'page.step')}"> 
    Just <g:pageProperty name="page.step" /> Steps Away From The Awesome!! 
</g:if> 

然后在使用该布局的任何页面,您可以包括对变步内容

<content tag="step">3</content> 

注意,content标签内的值可以是任何你喜欢。它将在页面呈现时进行评估。