2014-10-02 42 views
0

我試圖列出從根開始並且打印其子代的子代的子代。該域看起來像在GSP頁面中添加縮進到血統

class Node { 

    String nodeId 
    String label 

    Node parent  
} 

注意我沒有引用孩子,而是我有一個對其父母的引用。

在GSP頁面中,我想列出整個血統,但我無法得到正確的縮進,其中每個節點都會爲其子節點縮進。基本上需要某種檢查條件,如果前一個節點是下一個節點的父節點,則給它一個縮進,否則找到下一個節點的父節點並相應地放在那裏。 。

<concepts>  
     <g:each in="${nodes}" var="node">    
       <concept id="${node.id}" description ="${node.label}"> 
       </concept>     
     </g:each>  
</concepts> 

喜歡的東西(忽略文本,我需要像this

回答

0

這是一個結構有關:Recursion in GSP page

更新_node.gsp模板:

<g:if test="${nodes}"> 
<ul> 
    <g:each in="${nodes}" var="node"> 
    <li> 
     ${node} 
     <g:render template="node" model="[nodes:Node.findAllByParent(node)]" /> 
    </li> 
    </g:each> 
</ul> 
</g:if> 

和風格