Grails g:include可以做到吗?
|
我想知道是否可以使用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\"/>
之类的操作,但这不起作用。我真的想避免不得不向要重用现有控制器的“索引控制器”添加书目清单逻辑。
我不能成为第一个拥有这种用例的人,你们提供了什么解决方案?
没有找到相关结果
已邀请:
3 个回复
目浆搽
标签。只需创建一个
布局即可:
然后用
装饰
标签:
请参阅Grails指南上的条目以获取更多参考。
淑灯
的自定义标签,该标签通过例如xpath表达式。我不知道此位置已经存在。 一种替代方法是将本书的“ 12”的正文部分重构为模板,并使用“ 14”从“ 13”中引用该模板。但这意味着数据模型必须在index.gsp上下文中可用,因为g:render不会调用控制器。 注意:使用using11时,最好使用springcache插件进行页面片段缓存。
孝箱捆讨
那么您的索引将是:
您的清单将是:
(我的语法可能不是100%正确,因为距我这样做已经过去了几个月,但是模板背后的想法是简短的,可重用的GSP代码,它们并不打算显示在他们自己的。