私はGrails GSPのテンプレート/レイアウトのコンセプトについてたくさんのことをしてきました。私はASPのマスターページの動作を模倣するためにレイアウト/コンテンツブロックを使用しています。例えばASPのContentPlaceHolderに相当するGrails GSPとは何ですか?
、私は<content>
タグを使用して上書きすることができ、 "プレースホルダ" を残すために、テンプレートにタグ<g:pageProperty />
を使用しています:
myTemplate.gsp:
<body>
<g:pageProperty name="page.topDiv" />
</body>
myPage.gsp:
<html>
<head>
<meta name="layout" content="myTemplate"></meta>
</head>
<body>
<content tag="topDiv">
My top div
</content>
</body>
</html>
これは、テンプレート内のいくつかの箇所にコンテンツを「追加」するのに適しています。しかし、私は実際にはASP.NETのマスターページで取得できる動作を望んでいます...コンテンツの「デフォルト」レンダリングを提供し、オプションのオーバーライドを許可します。 ASP.NETマスターページでは、次のようになります。
myMaster.master:
<asp:ContentPlaceHolder id="something" runat="server">
<div>Default text/html here</div>
</asp:ContentPlaceHolder>
someOtherPage.aspx:
<asp:Content contentPlaceHolderId="something" runat="server">
Overriden content here!! I don't need to override this though :)
</asp:Content>
私の質問:
同じデフォルト/ ovを実行することはできますかGrailsのGSPで振る舞いを隠す?
ジェイソン、ありがとうございます!私はデフォルトの属性に 'render'呼び出しを置くことについて考えることさえしませんでした...レンダー呼び出しをデフォルトの属性に置くことはすごくうまくいきます。ありがとう! – Polaris878