Я много играл с концепциями шаблонов / макетов в Grails GSP. Я использовал макеты / блоки содержимого для имитации поведения главной страницы ASP.
Например, я использую тег <g:pageProperty />
в шаблоне, чтобы оставить «заполнитель», который можно переопределить с помощью тега <content>
:
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>
Мой вопрос:
Могу ли я сделать то же самое поведение по умолчанию / переопределение в GSP Grails?