我一直在使用 Grails GSP 中的模板/布局概念。我一直在使用布局/内容块来模仿 ASP 的母版页行为。
例如,我<g:pageProperty />
在模板中使用标签来留下可以使用<content>
标签覆盖的“占位符”:
我的模板.gsp:
<body>
<g:pageProperty name="page.topDiv" />
</body>
我的页面.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>
我的问题:
我可以在 Grails 的 GSP 中执行相同的默认/覆盖行为吗?