3

我有一个媒体域

def Media {
   String name

   static belongsTo = [parent:Media]
   static hasMany = [children:Media]
}

在 show.gsp 页面中,我想将我所有的根媒体(没有父级)列出到一个 ul 列表中,并在另一个 ul 列表中递归地列出他们的孩子和他们的孩子。我在第一个列表中使用了标签,但我不知道如何递归地为孩子们做这件事。

那么你知道如何做到这一点吗?

谢谢。

4

1 回答 1

8

您可以将递归部分放入 GSP 模板中,然后递归调用它,例如:

index.gsp:假设rootMedias被传递到视图中

<g:each in="${rootMedias}" var="media">
    <g:render template="step" model="${[media: media]}" />
</g:each>

_step.gsp

<ul>
    <g:each in="${media.children}" var="child">
    <li>
        ${child.name}
        <g:render template="step" model="${[media: child]}" />
    </li>
    </g:each>
</ul>
于 2013-01-31T00:14:47.970 回答