如何在Sightly迭代列表列表?

时间:2015-11-15 20:15:29

标签: aem sightly

我的吊索模型返回我创建的对象的列表列表。 (TablegGridDataRow)但我不能迭代它。对象的类型是:

    List<List<TableGridDataRow>>

我这样做是为了迭代它。

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

但是在尝试提取第二个列表时我得到了一个N​​PE。

如果我使用String而不是TableGridDataRow,它就可以工作。

2 个答案:

答案 0 :(得分:4)

您可以使用Sightly标记来迭代列表列表。 我发布了一个代码,用于迭代List&gt; .Here item将有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类会很有帮助。

答案 1 :(得分: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>