如何将css参数传递给main.gsp布局

时间:2013-11-14 20:14:56

标签: grails

我的布局中有main.gsp。其他几个布局都应用了主要布局,但每个布局都有不同的页面背景(边框,背景图像,宽度等)。

在我的main.gsp中,我将css样式定义为:

<div class="container <g:pageProperty name="page.containerCss"/>">

在我的嵌套gsps中,我将css传递给主容器中使用:

<g:applyLayout name="main">
...
<body>
<content tag="containerCss">myCustomCssStyle</content>

或者其他嵌套布局可能会使用:

 <content tag="containerCss">aDifferentStyle</content>

有更好的方法吗? main.gsp中唯一的变量就是这个css属性,所以我不认为创建5个不同版本的main.gsp是DRY选项。

1 个答案:

答案 0 :(得分:0)

你可以在嵌套的gsp中设置一个带有范围的变量,比如

 <g:set var="containerCss" value="aDifferentStyle" scope="request" />

在你的main.gsp中你可以像:

一样使用它
<div class="container ${containerCss}">

我没有测试它,但它应该工作,玩得开心!

编辑:如果它不起作用,请告诉我