index.gsp中:
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>
</g:each>
这将创建所有现有控制器的列表。我需要的只是一些特定控制器的列表。有没有办法实现这个目标?
例如:我的应用程序有17个控制器,所有控制器都显示出来。我想要只显示5个。
答案 0 :(得分:3)
您可以向控制器添加静态变量,以确定控制器是否应出现在您的gsp中。
在控制器中:
static Boolean linkMe = true
在GSP中:
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<g:if test="${c.getStaticPropertyValue('linkMe', Boolean)}">
<li class="controller">
<g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link>
</li>
</g:if>
</g:each>
答案 1 :(得分:1)
如果(例如)您只想显示UserController
和LoginController
<g:each var="c" in="${[UserController, LoginController]}">
<li class="controller">
<g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link>
</li>
</g:each>
请记住将这些控制器的类导入GSP。