Grails导航链接嵌套循环

时间:2015-03-30 18:33:27

标签: grails one-to-many

我使用Grails标签创建了一个嵌套循环,但没有获得我期望的输出。我期待嵌套在另一组链接中的链接列表。我很接近,但嵌套链接显示为一个大的列表,而不是多个链接。

我有两个具有一对多关系的域名。我的控制器目前是动态的。

在Grails 2.3.3中写道

以下是我的两个域名

class Committees {

    String committeeName
    String description

    static belongsTo = [hospital:Hospital]

    static constraints = {
        committeeName (nullable:true)
        description( inList: ["Committee","Board"])
    }
}

class Hospital {
    String hospitalName

    static hasMany = [committees:Committees]

    static constraints = {
        hospitalName nullable:true
    }
}

这是我的.GSP中的嵌套循环

<g:each in="${hospitalInstanceList}" status="i" var="hospitalInstance">
<tr>
    <td>
        <g:link 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.id}" status="j" var="committeesInstance">
            <p>Current id: ${hospitalInstance.id }</p>
            <li>
<%--            <g:link action="show" id="${hospitalInstance}">${fieldValue(bean: hospitalInstance, field: "committees.committeeName")}</g:link>--%>
                <g:link controller="Committees" action="show" id="${committeesInstanceList}">${fieldValue(bean: committeesInstance, field: "committeeName")}</g:link>
            </li>
            </g:each>
        </ul>
    </td>
</tr>
</g:each>

1 个答案:

答案 0 :(得分:0)

您需要在内循环中使用${hospitalInstance.committees}。 试试这段代码

&#13;
&#13;
<table border="1">
<g:each in="${hospitalInstanceList}" status="i" var="hospitalInstance">
                      <tr>
			                      	<td>
			    
										<g:link action="show" id="${hospitalInstance.id}">${hospitalInstance.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 action="show" id="${it.id}">  ${it.committeeName} </g:link> </li> 

				                                     <br> 
				                                    
				                                    <li>  <g:link action="show" id="${it.id}">  ${it.description}</g:link> </li>
				                                     
				                                     
				                                 </g:each>
                                               </ul>
						             </td>										
					 </tr>
</g:each>				
</table>
&#13;
&#13;
&#13;