如何在Sightly中迭代列表清单?

问题描述 投票:0回答:2

我的Sling模型返回我创建的对象的列表列表。 (TablegGridDataRow),但我无法对其进行迭代。对象的类型是:

    List<List<TableGridDataRow>>

而且我正在这样做以遍历它。

     <sly data-sly-list.row="${tablegrid.bodyNodes}" data-sly-unwrap>
         <tr class="tablegrid__row" data-sly-list.column="${row}">
         ...

但是尝试提取第二个列表时,我得到了NPE。

如果我使用String代替TableGridDataRow,它将起作用。

aem sightly
2个回答
4
投票

您可以使用Sightly标签迭代列表列表。我正在发布用于迭代List>的代码。这里的项目将具有list列表的节点。

<div data-sly-use.carouselobj = "com.test.cms.models.MultiItemCarouselModel" data-sly-unwrap >

<header id="myCarousel" >
        <div data-sly-list="${carouselobj.listOLists}">
                 <div data-sly-list-child="${item}">
                      <img src = "${child.imageSrc @ context='uri'}"  />
                                <h2>${child.imageAlt}</h2>
                               <h2>${child.title}</h2>
                          </div>
                   </div>
        </div>
</div>

如果您上传Java类,这将很有帮助。


0
投票

默认的可见标签已被data-sly-list.child纠正,这应该可以。

<div data-sly-use.carouselobj = "com.test.cms.models.MultiItemCarouselModel" data-sly-unwrap >
   <header id="myCarousel" >
   <div data-sly-list="${carouselobj.listOLists}">
      <div data-sly-list.child="${item}">
         <img src = "${child.imageSrc @ context='uri'}"  />
         <h2>${child.imageAlt}</h2>
         <h2>${child.title}</h2>
      </div>
   </div>
</div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.