我试图列出一个从根开始的descendancy,并打印它的子级。域看起来有点像
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>
类似于(忽略文本。我需要这样的结构
这与:GSP页面中的递归有关
更新_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>
以及相应的风格。