3

私はメディアドメインを持っています

def Media {
   String name

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

show.gsp ページで、すべてのルート メディア (親を持たない) を ul リストにリストし、その子とその子を別の ul リストに再帰的にリストしたいと考えています。最初のリストにタグを使用しましたが、子に対してこれを再帰的に行う方法がわかりません。

それで、これを行う方法のアイデアはありますか?

ありがとう。

4

1 に答える 1

8

再帰部分を GSP テンプレートに入れ、再帰的に呼び出すことができます。たとえば、次のようになります。

index.gsprootMedias:ビューに渡されると仮定

<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 に答える