0

試行錯誤の末、誰かが私の問題を解決するためのヒントを教えてくれるかもしれません。

私のタスクは、MongoDBを使用してGrailsアプリケーションのフロントエンドを開発することです。JSON配列の最初の3つのエントリのみがリストポイントとしてdivに含まれ、次の3つのエントリのみがli´sとして別のdivに含まれることを表現したいと思います。

次の例では、彼はli`sに各エントリを追加するだけです。

<g:each in="${profil.leistung}">
 <div>
 <li> ${it} </li>
</div>
</g:each>

私はいくつかのことを試しましたが、それが得られませんでした。HopeFor Helpは、解決するために私のラップトップで多くのバク転を行います!ジョン

4

1 に答える 1

0

特にJSON配列についてはわかりませんが、通常の配列またはリストを使用すると、スライスを慎重に使用してこれを行うことができます。

<g:each var="chunk" in="${0..<(profil.leistung.size().intdiv(3) +
                               (profil.leistung.size() % 3 ? 1 : 0))}">
  <div>
    <ul>
      <g:each in="${profil.leistung[(chunk * 3)..<(Math.min(
                                  profil.leistung.size(), (chunk + 1) * 3))]}">
        <li>${it}</li>
      </g:each>
    </ul>
  </div>
</g:each>

ここで行っているのは、リストを分割できる3つの要素のチャンクの数を計算することです(最後のチャンクの要素は3つ未満の場合があります)。次に、外側のループを通過するたびに、排他的論理和または最後の要素3nを含む要素をスライスします。3(n+1)リスト(最初に来る方)。リストの長さが常に3の正確な倍数になることがわかっている場合は、エッジケースを削除できます。

<g:each var="chunk" in="${0..<profil.leistung.size().intdiv(3)}">
  <div>
    <ul>
      <g:each in="${profil.leistung[(chunk * 3)..<((chunk + 1) * 3)]}">
        <li>${it}</li>
      </g:each>
    </ul>
  </div>
</g:each>
于 2012-10-04T11:34:02.493 に答える