我的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,它将起作用。
您可以使用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类,这将很有帮助。
默认的可见标签已被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>