我有一些数据是从一个数据狡猾的调用中获取的,我正在尝试使用一个数据狡猾列表的调用来遍历它。目前这是我的代码
<div data-sly-use.info="GetInformation" data-sly-unwrap></div>
<ul data-sly-list.test="${info.tests}">
<li>${test.name}</li>
</ul>
测试 是从使用调用返回的数组列表。
答案 0 :(得分:2)
在我看来,您在正确的轨道上。这是我所拥有的:
helloworld.html
<sly data-sly-use.info="GetInformation"/>
<ul data-sly-list.test="${info.tests}">
<li>${test.name}</li>
</ul>
注意:<sly>
元素会自动展开,并且不会在HTML中呈现,因此我用它来替换了空的<div>
。更多信息here。
GetInformation.java
package apps.wknd.components.content.helloworld;
import com.adobe.cq.sightly.WCMUsePojo;
import java.util.Arrays;
import java.util.List;
public class GetInformation extends WCMUsePojo {
@Override
public void activate() throws Exception {
//noop
}
public List<Test> getTests() {
return Arrays.asList(new Test("test1"), new Test("test2"), new Test("test3"));
}
public class Test {
private String name;
public Test(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
结果:
DOM:
建议:
如果您的代码有问题,我怀疑它可能是在Java方面,而不是在HTL中。以下是一些需要注意的事项:
getTests()
方法?答案 1 :(得分:0)
您本可以对此进行简单的Google搜索。我花了here
这是一个例子
<dl data-sly-list="${currentPage.listChildren}">
<dt>index: ${itemList.index}</dt>
<dd>value: ${item.title}</dd>
</dl>