0

我的 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。

如果我使用字符串而不是 TableGridDataRow,它可以工作。

4

2 回答 2

4

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

<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 类,将会很有帮助。

于 2015-11-20T06:36:49.043 回答
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>
于 2020-03-15T11:28:30.393 回答