Sightly (HTL) Список итераций
Как перебрать массив значений String в Sightly?
Используя мой бэкэнд-класс Java, я возвращаю ArrayList в Sightly. Как мне перебрать и отобразить их?
3 ответа
Вы можете использовать data-sly-list
или же data-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 можно найти здесь
Ты можешь попробовать data-sly-list
?
Пример:
<ul data-sly-list.myitem="${mylist}" data-sly-unwrap>
<li>${myitem}</li>
</ul>
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