Sightly:迭代一个列表并使用它的索引打印另一个列表(不是嵌套的,只是共享索引)
Sightly: Iterating over a list and using its index to print another list (not nested, just sharing the index)
我有 2 个清单。对象 allList
中的 list1 和 pathList
<div data-sly-list.list1="${allList.list1}">
<img src="soemthing">
<a href="XXXXXXXXX">${list1}</a>
</div>
在我写"XXXXXXXXX"的地方,我需要放置类似
的东西
${pathList['list1List.index']}
或
${allList.pathList['list1List.index']}
所以,基本上我想使用第一个列表的索引迭代第二个列表,我不能使用嵌套循环。
但是每当我尝试使用上面提到的语法时,我都会收到模板解析错误,因为语法错误。有人请指导我如何实现这一目标。
您必须使用不带“ ”的索引,如下所示:${allList.pathList[list1List.index]}
示例:
@Model(adaptables = Resource.class)
public class TestModel {
@Inject
Resource resource;
private String[] abc = {"a", "b", "c"};
private String[] def = {"d", "e", "f"};
...
}
HTL:
<sly data-sly-list.first="${model.abc}">
<p>Test: ${first} - ${model.def[firstList.index]}</p>
</sly>
输出HTML:
<p>Test: a - d</p>
<p>Test: b - e</p>
<p>Test: c - f</p>
我有 2 个清单。对象 allList
中的 list1 和 pathList<div data-sly-list.list1="${allList.list1}">
<img src="soemthing">
<a href="XXXXXXXXX">${list1}</a>
</div>
在我写"XXXXXXXXX"的地方,我需要放置类似
的东西${pathList['list1List.index']}
或
${allList.pathList['list1List.index']}
所以,基本上我想使用第一个列表的索引迭代第二个列表,我不能使用嵌套循环。
但是每当我尝试使用上面提到的语法时,我都会收到模板解析错误,因为语法错误。有人请指导我如何实现这一目标。
您必须使用不带“ ”的索引,如下所示:${allList.pathList[list1List.index]}
示例:
@Model(adaptables = Resource.class)
public class TestModel {
@Inject
Resource resource;
private String[] abc = {"a", "b", "c"};
private String[] def = {"d", "e", "f"};
...
}
HTL:
<sly data-sly-list.first="${model.abc}">
<p>Test: ${first} - ${model.def[firstList.index]}</p>
</sly>
输出HTML:
<p>Test: a - d</p>
<p>Test: b - e</p>
<p>Test: c - f</p>