我正在尝试创建一个会员目录。我已经填写了目录并准备好了。我正在使用main.gsp布局并为其创建了模板。
侧面导航栏需要由成员所属的委员会和委员会填充。我通过一个单独的域和控制器创建了它。它创建的视图通过委员会.id将搜索参数传递给成员页面,以对成员列表进行排序。
我试图在整个网站布局中使用委员会控制填充那个侧面导航栏,但是当我测试网站模板部分没有填充时。当我选择委员会控制器页面来测试我的输出时,它就会填充。我相信我错过了对控制器的调用或一些引用,使得该视图在整个站点中都处于活动状态,而不仅仅是在控制器页面上。
我正在使用Grails v.2.3.3
以下是main.gsp中侧面导航栏的代码。
<div id="leftNav" >
<g:render template="/common/left_nav" model="[hospital:Hospital]" />
</div>
这是在&#34; _left_nav.gsp&#34;中调用导航模板的地方。
<div>
<g:render template="/hospital/committee" model="[hospital:Hospital]" />
</div>
以下是在&#34; _committee.gsp&#34;中再次调用导航模板的位置。
<%@ 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>
正在动态调用此视图的控制器。
答案 0 :(得分:0)
是。只有在您访问特定控制器的操作时,才会填充侧面导航栏。您有2个选项,在每个控制器的操作中计算此值,该操作将使用侧面导航栏的视图或使用过滤器
如果您希望在每个页面上显示此信息,我建议您尝试使用过滤器来访问此信息。每次加载页面时,您都可以检索 医院 。
如果您使用安全插件,例如Shiro或SpringSecurity作为应用程序的一部分,您可以将此位放在那里。