Grails控制器填充的菜单具有独立的主控制器视图



我正在尝试创建一个成员目录。我已经把目录填好了,可以出发了。我正在使用main.gsp布局,并为其创建了模板。

侧面导航栏也需要由成员所属的委员会和董事会填充。我通过一个单独的域和控制器创建了它。它创建的视图创建链接,通过committee.id将搜索参数传递到成员页面,以对成员列表进行排序。

我试图在整个网站布局中使用委员会控制来填充侧导航栏,但当我测试网站时,模板部分不会填充。它只是在我创建的用于测试输出的委员会控制器页面被选中时填充。我相信我错过了对控制器的调用或某些引用,这些引用使此视图在整个网站上都处于活动状态,而不仅仅是在控制器页面上。

我使用的是Grails v.2.3.3

这是main.gsp.中侧面导航栏的代码

<div id="leftNav" >
    <g:render template="/common/left_nav" model="[hospital:Hospital]" />
</div>

以下是在"_left_nav.gsp"中调用导航模板的位置。

<div>
    <g:render template="/hospital/committee" model="[hospital:Hospital]" />
</div>

以下是在"_committee.gsp"中再次调用导航模板的位置。

<%@ page import="trustees.Hospital" %>
<div id="hospcomm" class="content scaffold-list" role="navigation">
    <table>
        <g:each in="${hospitalInstanceList}" status="i" var="hospitalInstance">
        <tr>
            <td>
            <g:link controller="hospital" action="show" id="${hospitalInstance.id}">${fieldValue(bean: hospitalInstance, field: "hospitalName")}</g:link>
<%--            <g:link action="show" id="${hospitalInstance.id}">--%>
<%--                <a href="index.jsp?nav=main&hosp=<%=hospGiven %>" target="_top">--%>
<%--                    <img src="/Trustees/static/images/img/navigate.msh_board.gif" border="0">--%>
<%--                </a>--%>
<%--            </g:link>    --%>
            </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <g:each in="${hospitalInstance.committees}">
                    <li>
                        <g:link controller="hospital" action="show" id="${it.id}">  ${it.committeeName} </g:link>
                    </li>
                    </g:each>
                </ul>
            </td>
        </tr>
        </g:each>
    </table>
</div>

正在动态调用此视图的控制器。

是。只有当您访问特定控制器的操作时,才会填充侧面导航栏。你有两个选项,在每个控制器的操作中计算这个值,该操作将使用带有侧导航栏的视图或使用过滤器

如果你想在每一页上都有这些信息,我建议你尝试使用过滤器来访问这些信息。每次加载页面时,您都可以检索医院

如果你正在使用一个安全插件,比如Shiro或SpringSecurity作为你的应用程序的一部分,你可以在那里放置这个插件。

相关内容

  • 没有找到相关文章

最新更新