Как перебрать данные из вызова хитрого использования данных - PullRequest
0 голосов
/ 04 октября 2019

У меня есть данные, которые я получаю от вызова хитрого использования данных, и я пытаюсь перебрать их, используя вызов списка хитрых данных. В настоящее время это то, что у меня есть для кода

<div data-sly-use.info="GetInformation" data-sly-unwrap></div>

<ul data-sly-list.test="${info.tests}">
    <li>${test.name}</li>
</ul>

Тесты - это список массивов, который возвращается из вызова use.

Ответы [ 2 ]

1 голос
/ 05 октября 2019

Мне кажется, что вы на правильном пути. Вот что у меня есть:

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

ДОМ:

enter image description here

Предложения:

Если у вас возникли проблемы с вашим кодом, я подозреваю, что он может быть на стороне Java, а не на HTL. Вот некоторые вещи, на которые стоит обратить внимание:

  • Правильно ли расположен ваш Java-файл на том же уровне, что и ваш HTL-файл?
  • Есть ли в вашем классе Java метод getTests()?
  • Ваш класс Java расширяет WCMUsePojo?
0 голосов
/ 04 октября 2019

Вы могли бы сделать простой поиск Google для этого. Это заняло у меня здесь

Вот пример

<dl data-sly-list="${currentPage.listChildren}">
    <dt>index: ${itemList.index}</dt>
    <dd>value: ${item.title}</dd>
</dl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...