我的布局中有 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 选项。