私が好きなパターンは、次のようにpagePropertyを使用します。レイアウトでは、私はそうのようなpagePropertyを参照:
レイアウトGSP
<body id="${pageProperty(name: 'page.pageType')}">
<g:render template="/layouts/header" />
<g:layoutBody/>
<g:render template="/layouts/copyright" />
</div>
...HTMLの結果の
ページGSP
<head>
<meta name="layout" content="main"/>
<parameter name="pageType" value="homePg" />
</head>
:特定のGSPページ(私はそれがヘッド部の外に動作しなかったことが判明)の<head>
セクション内で、私はそうのような値を宣言する
<body id="homePg">
... header, body and footer ...
</body>
また、私は同様にpagePropertyにコントローラモデルから値を注入することができる。
コントローラ
def index() {
model: [modelPageType: 'adminPg']
}
(上記と同じレイアウトを使用して)レイアウトGSP
<body id="${pageProperty(name: 'page.pageType')}">
<g:render template="/layouts/header" />
<g:layoutBody/>
<g:render template="/layouts/copyright" />
</div>
ページGSP
<head>
<meta name="layout" content="main"/>
<parameter name="pageType" value="${modelPageType}" />
</head>
結果のHTML
<body id="adminPg">
... header, body and footer ...
</body>
・リー、 私はここで見つけるソリューションを使用しようとしていた :http://blog.openmind.ws/2009/06/10/grails-layouts-with-sitemesh/ ここでは、パラメータタグを使用してページ名を宣言し、レイアウトのページプロパティでその名前を呼び出します。 しかし、そのページプロパティは私のために働いていませんでした。私はページプロパティがgrails 1.2m3ではうまく動作しないところを読んでいます。私はすでにm4に入っているので、頭痛の原因になるかもしれません。 –