Sightly(HTL)List迭代

时间:2017-02-13 22:28:16

标签: aem sightly htl

如何在Sightly中迭代String值的arrayList?

使用我的后端java类,我得到一个返回Sightly的ArrayList。如何迭代并显示它们?

3 个答案:

答案 0 :(得分:2)

您可以使用data-sly-listdata-sly-repeat来迭代HTL中的集合/可迭代。它们的作用相同但唯一不同,data-sly-repeat不需要容器,而data-sly-list则需要容器。

用法:

方法1

<ul data-sly-list="${someList}">
    <li>${item}</li>
</ul>

方法2

<ul>
    <li data-sly-repeat="${someList}">${item}</li>
</ul>

两者都产生如下所示的相同输出

<ul>
    <li>item1</li>
    <li>item2</li>
    <li>item3</li>
</ul>

有关HTL Block Statements can be found here

的更多信息

答案 1 :(得分:0)

你能试试data-sly-list吗?

示例:

<ul data-sly-list.myitem="${mylist}" data-sly-unwrap>
  <li>${myitem}</li>
</ul>

答案 2 :(得分:-1)

data-sly-list使用容器等请参阅示例以便更好地理解。

我有以下列表

test1
test2
test3
test4

<div data-sly-list="${ currentPage.listChildren }">
      ${item.name}
</div>

输出将生成为 -

test1 test2 test3 test4

当您在调试器中查看HTML元素结构时,它将是 -

<div>
   Test1
   Test2
   Test3
   Test4
<div>

现在使用data-sly-repeat -

<div data-sly-repeat="${ currentPage.listChildren }">
      ${item.name}
</div>

输出将是 -     XHTML

test1
test2
test3
test4