Мне кажется, что вы на правильном пути. Вот что у меня есть:
helloworld.html
<sly data-sly-use.info="GetInformation"/>
<ul data-sly-list.test="${info.tests}">
<li>${test.name}</li>
</ul>
Примечание : элемент <sly>
автоматически разворачивается и не рендеритсяв HTML, поэтому я использовал его, чтобы заменить ваш пустой <div>
. Подробнее здесь .
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;
}
}
}
Результат:
![enter image description here](https://i.stack.imgur.com/kd0jJ.png)
ДОМ:
![enter image description here](https://i.stack.imgur.com/gPA8y.png)
Предложения:
Если у вас возникли проблемы с вашим кодом, я подозреваю, что он может быть на стороне Java, а не на HTL. Вот некоторые вещи, на которые стоит обратить внимание:
- Правильно ли расположен ваш Java-файл на том же уровне, что и ваш HTL-файл?
- Есть ли в вашем классе Java метод
getTests()
? - Ваш класс Java расширяет WCMUsePojo?