это редактирование моего вопроса, который был первым, как применить 2 макета на одной странице gsp, но теперь у меня проблема с 3 макетами :):
Я довольно новичок во всем, что касается CSS и верстки, и я использую версию Grails 2.0
у меня есть следующие модули в моей задаче:
1. main.gsp макет, который в основном имеет хороший заголовок с логотипом компании для всех страниц.
2. макеты mainTabPanle.gsp, которые в основном содержат некоторые основные вкладки, которые должны иметь все страницы
3. Макет reportTab.gsp, который в основном содержит красивые вкладки отчетов и короткий код JavaScript для управления выбранным цветом вкладок, который должен быть на всех страницах gsp отчетов.
Я пытаюсь использовать этот макет reportTab на всех страницах gsp отчетов.
так вот что я получил до сих пор:
main.gsp:
<!doctype html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}"type="text/css">
<g:layoutHead/>
<r:layoutResources />
</head>
<body style="height:100%">
<div>some nice header in here </div>
<g:layoutBody/>
<r:layoutResources />
</body>
</html>
mainTabPanle.gsp (также находится в папке макета)
<g:applyLayout name="main">
<!doctype html>
<html>
<head>
<g:layoutHead/>
<r:layoutResources />
</head>
<body>
<div>some main tabs here </div>
<g:layoutBody/>
</body>
<script type="text/javascript">
//script to manipulate main tabs
</script>
<r:layoutResources />
</body>
</html>
</g:applyLayout>
reportTabPanel.gsp:
<g:applyLayout name="mainTabPanel">
<!doctype html>
<html>
<head>
<g:layoutHead/>
<r:layoutResources />
</head>
<body>
<div>some reports tab panel </div>
<g:layoutBody/>
</body>
<script type="text/javascript">
//some script to manipulate report tab item
</script>
<r:layoutResources />
</body>
</html>
</g:applyLayout>
и теперь я использую в заголовке moneyreport.gsp следующую строку:
<meta name="layout" content="reportTabPanel" />
я хочу увидеть хороший заголовок, maintabsPanel и reportTabPanel, но все, что я вижу, это тело moneyreport.gsp
странно то, что если я использую это:
<meta name="layout" content="mainTabPanel" />
внутри moneyreport.gsp я вижу mainTab и тело moneyreport.gsp, как и ожидалось.
что я делаю не так? я не могу использовать 3 макета на одной странице?
спасибо за вашу помощь, ребята ...