【发布时间】:2016-03-07 17:46:01
【问题描述】:
我有一个 Grails 2.4.x 应用程序,其中约 80% 的页面使用 simple.gsp 布局,而其他页面都是完全不使用任何布局/模板的落后者。但他们不能使用simple.gsp,因为它的内容不适用于他们。
我需要为所有这些页面 (100%) 添加标题导航,并且想要一个优雅的解决方案。理想情况下,我可以创建一个新布局,例如 awesome-header.gsp,其中包含标题导航。那么:
- 对于任何不使用
simple.gsp布局的页面(同样,~20%),我会让他们直接使用awesome-header.gsp;但后来... - 我会以某种方式引用/导入/扩展
simple.gsp以(以某种方式)使用awesome-header.gsp;现在允许其他约 80% 的页面使用新的标题导航
让我们假设这是simple.gsp:
<!DOCTYPE html>
<html>
<head>
<title>
<g:layoutTitle default="Some App" />
</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Lots of stuff -->
<g:layoutHead />
<!-- Lots of stuff -->
</head>
<body>
<!-- Lots of stuff -->
<div id="page-content">
<g:layoutBody />
</div>
<!-- Lots of stuff -->
</body>
</html>
让我们假设这是awesome-header.gsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title></title>
</head>
<body>
<script id="awesome-header-bootstrap" src="/awesome-header/awesome-header-bootstrap-1.0.js"><script>
<g:layoutBody />
</body>
</html>
相当准系统。我需要这个awesome-header.gsp 布局做的就是在<body> 元素的顶部包含一个JS。出于这个问题的目的,这个 JS 脚本是“神奇的”,它为我神奇地获取了标题导航。
- 如何引用/导入/扩展
simple.gsp以使用awesome-header.gsp? - 我不希望
awesome-header.gsp覆盖任何title或header内容(在simple.gsp或任何散乱页面中定义)
有什么想法可以完成这个设置吗?
【问题讨论】:
标签: grails layout gsp reusability