如何在 Grails 应用程序的 index.gsp 中仅列出一些控制器?

发布于 2024-12-21 00:19:43 字数 380 浏览 0 评论 0原文

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 个。

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>

This creates a list of all existing controllers. What I need is list of only a few, specific controllers. Is there a way to accomplish that?

For example: my application has 17 controllers, all of them are displayed. I want just 5 to be displayed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

恬淡成诗 2024-12-28 00:19:43

您可以向控制器添加一个静态变量,以确定控制器是否应出现在您的 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>

You could add a static variable to your controller to determine if the controller should appear in your gsp.

In Controller:

static Boolean linkMe = true

In 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>
回首观望 2024-12-28 00:19:43

如果(例如)您只想显示 UserControllerLoginController

<g:each var="c" in="${[UserController, LoginController]}">            
  <li class="controller">
    <g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link>
  </li>
</g:each>

请记住将这些控制器的类导入到 GSP 中。

If (for example) you only want UserController and LoginController to be displayed

<g:each var="c" in="${[UserController, LoginController]}">            
  <li class="controller">
    <g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link>
  </li>
</g:each>

Remember to import the classes for these controllers into the GSP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文