это изменить мой вопрос, который был первым, как применять 2 макетов в одной и той же странице GSP, но теперь я получил проблему с 3-х раскладок :):с использованием 3 макетов на одной странице GSP
Я довольно новыми для всех что css и макет, и я использую grails 2.0 version У меня есть следующие модули в моей проблеме:
1. main.gsp layout, который в основном имеет хороший заголовок с логотипом компании для всех страниц.
2. mainTabPanle.gsp layouts, которые в основном содержат некоторые основные вкладки, все страницы должны иметь 3. layout.ag.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 макета на одной странице?
спасибо за вашу помощь ребята ...
anju i edit my question .... в основном то, что вы сказали, работало отлично. Я попытался использовать ту же логику, чтобы применить 3 макета, и это не сработает. Интересно, сможешь ли ты снова исправить меня. заранее спасибо! – zevel80300
@ user511875: Вы можете использовать любое количество макетов на одной странице. Единственная проблема, которую я вижу в коде, который вы опубликовали, - это опечатка в названии файла, о котором вы упоминали (это написано mainTabPanle вместо mainTabPanel). Я протестировал код, который вы опубликовали, и он работает нормально –
действительно?!?!?! вы проверили мой код и его работоспособность ??? если это имеет место в его замечательных новостях ... к сожалению, я должен отложить это в сторону слишком много вещей, чтобы добиться успеха здесь на работе. но, судя по тому, что я почти уверен, что вы сказали, так много спасибо за свою помощь и за то время, которое вы поставили, чтобы помочь мне. как только я получу некоторое свободное время, чтобы сохранить этот проект, я отправлю еще один ответ, что он работает :) спасибо большое помощник – zevel80300