Зачем</td> не работает - PullRequest
       5

Зачем</td> не работает

0 голосов
/ 11 февраля 2019

Я пытаюсь выполнить итерацию по списку, который содержит список объектов, т. Е. Список. Мне интересно, почему это не работает, пробовал просто с "i", но безуспешно.

List<Object[]> lists;  // logic
model.addObject("lists", lists);
model.addObject("table_width", lists.get(0).length);

ThymeleafФрагмент кода

<table class="table table-responsive table-stripped table-collapsed table-bordered">
                <tr th:each="rows,rowStat : ${lists}">
                    <td th:text="${rowStat.count}"></td>

                    <td th:each="i : ${#numbers.sequence(0, table_width)}" th:text="${rows[${i}]}"></td>
                </tr>
</table>

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

Я нашел способ,

<td th:each="i : ${#numbers.sequence(0, table_width-1)}" th:text="${rows[__${i}__]}"></td>

Это делает трюки

0 голосов
/ 11 февраля 2019

Вы можете просто выполнить итерацию по обоим спискам.Нет необходимости использовать помощник #numbers.

<table class="table table-responsive table-stripped table-collapsed table-bordered">
    <tr th:each="rows, rowStat : ${lists}">
        <td th:text="${rowStat.count}"></td>
        <td th:each="value: ${rows}" th:text="${value}"></td>
    </tr>
</table>
0 голосов
/ 11 февраля 2019

Если вы перебираете коллекцию (список) объектов, попробуйте следующий пример:

HTML:

<div th:if="${not #lists.isEmpty(counts)}">
    <h2>Counts List</h2>
    <table class="table table-striped">
        <tr>
            <th>Id</th>
            <th>Name</th>
        </tr>
        <tr th:each="count : ${counts}">
            <td th:text="${count.id}"></td>
            <td th:text="${count.name}"></td>
        </tr>
    </table>
</div>

Java:

public List<Count> listAll() {
    List<Count> counts = new ArrayList<>();
    countRepository.findAll().forEach(counts::add);
    return counts;
}

Подробнеев документации Thymeleaf - Основы итерации раздел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...