Вы можете сделать это несколькими различными способами. Первый способ, который я бы предложил попробовать сделать что-то подобное в вашем макете:
<g:if test="${nav == 'nav1'}">
<g:render template="/nav/nav1" />
</g:if>
<g:elseif test="${nav == 'nav2'}">
<g:render template="/nav/nav2" />
</g:elseif>
<g:else>
<g:render template="/nav/default" />
</g:else>
Для отображения этих шаблонов у вас должны быть следующие файлы:
grails-app/views/nav/_nav1.gsp
grails-app/views/nav/_nav2.gsp
grails-app/views/nav/_default.gsp
Обратите внимание, что поскольку шаблон является "относительным к корню", он разрешил шаблон из корня каталога grails-app/views
. Подробнее см. В разделе руководства пользователя «Представления и шаблоны» .
Другим методом будет динамическая визуализация навигации на основе такого параметра (в вашем Макете):
<g:render template="/nav/${nav ?: 'default'}" />
или если вы хотите еще немного пройти по кроличьей норе, вы можете сделать что-нибудь , например .
Если вы все еще сталкиваетесь с проблемами, то я мог бы предположить, что было пропущено что-то еще, например, передача некоторых параметров модели в тег render .