0

经过一天的反复试验,也许有人可以给我一个提示来解决我的问题?

我的任务是使用 MongoDB 开发 Grails 应用程序的前端,我想表示只有 JSON 数组的前三个条目将作为 listpoints 在 div 中,而在另一个 div 中的下三个条目作为 li´s。

在以下示例中,他只是在 li`s 中添加了每个条目:

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

我尝试了几个东西,但没有得到它希望得到帮助,将在我的笔记本电脑上做很多后空翻来解决!约翰

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>

我在这里做的是计算出我们可以将列表分成多少个三个元素的块(最后一个块可能少于三个元素),然后每次通过外循环切出3n包含3(n+1)排他或结尾的元素列表(以先到者为准)。如果您知道您的列表长度将始终是三的整数倍,那么您可以删除边缘情况:

<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 回答