Мне интересно, можно ли использовать g: include для включения только содержимого тела данной страницы.
Скажите, что у меня есть главная страница макета следующим образом:
<html>
<head>
<title>My start page</title>
<g:layoutHead>
</head>
<body>
<g:layoutBody>
</body>
</html>
Затем главная страница (index.gsp)
<html>
<head>
<!-- main layout reference -->
<meta name="layout" content="main"/>
</head>
<body>
THIS IS MY INDEX BODY CONTENT WITH AN INCLUDE
<g:include controller="book" action="list"/>
<g:link controller="book" action="list">See the full list!</g:link>
</body>
</html>
И, наконец, страница книги / списка
<html>
<head>
<!-- main layout reference -->
<meta name="layout" content="main"/>
</head>
<body>
<table>
<g:each in="${books}">
<tr>
<td>${it.author}</td>
<td>${it.title}</td>
<td>${it.price}</td>
</tr>
</g:each>
</table>
</body>
</html>
Итак, чего я хочу достичь, так это того, что главная страница (index.gsp) включает в себя только таблицу, определенную на странице книги / списка. Однако, когда я пытаюсь это сделать, он включает в себя весь определенный html (<html>
тэги и все).
возможно ли это как-то сделать? Я пробовал что-то вроде <g:include controller="book" action="list" view="someView.gsp"/>
, но это не работает. Я действительно хочу избежать необходимости добавлять логику списка книг в «контроллер индекса», я хочу повторно использовать свой существующий контроллер.
Я не могу быть первым человеком, имеющим этот сценарий использования, какие решения вы, ребята, придумали?