Как в Thymeleaf выводить двухмерный массив?

128
20 ноября 2019, 15:00

Допустим, есть двухмерный массив:

String m[][]={
    {"1x1","1x2","1x3","1x4"},
    {"2x1","2x2","2x3","2x4"},
    {"3x1","3x2","3x3","3x4"},
    {"4x1","4x2","4x3","4x4"}
};

(Массив может быть разной "длины" и "высоты")

В классе, где я передаю контент я пишу:

context.setVariable("m", m);

Как записать данный массив в Thymeleaf? Я пробовал реализовать вот таким способом, но у меня не получилось:

<!DOCTYPE html>
<html lang="en"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>

<div th:each="i : ${#numbers.sequence(0,${#arrays.length(m)},1)}">
    <div th:each="j : ${#numbers.sequence(0,${#arrays.length(m[1])},1)}">
        <span th:text="${m[i][j]}"></span>
    </div>
</div>

</body>
</html>
Answer 1

Согласно документации в качестве значения th:each может использоваться массив, соответственно, должен работать следующий код:

<!DOCTYPE html>
<html lang="en"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <div th:each="i : ${m}">
        <div th:each="j : ${i}">
            <span th:text="${j}"></span>
        </div>
    </div>
</body>
</html>
READ ALSO
spring + jpa = QuerySyntaxException: table is not mapped

spring + jpa = QuerySyntaxException: table is not mapped

Учусь работать с JPAЕсть MySQL таблица с полями a,b,c,d,e

124
Нарушает ли JPA принцип DDD?

Нарушает ли JPA принцип DDD?

Собственно, в заголовке вопросАннотации JPA привязывают нас к самому JPA

141
Реализация Serialization API

Реализация Serialization API

Ребят нужна помощь, как реализовать сериализацию\десериализацию без использования serialization api, и соответственно ObjectOutputStream тк он входит в этот...

130
Почему не работает условие в if?

Почему не работает условие в if?

не могу разобраться как в статических методах правильнее описать условие

126