#html #html-table #each #thymeleaf
#HTML #html-таблица #каждый #thymeleaf
Вопрос:
Я новичок в thymeleaf и пытаюсь создать простую таблицу, используя массив и цикл each.
Мой код выглядит следующим образом:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Smoke Tests</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<table border="1" style="width:300px">
<tr>
<td>Test Name</td>
</tr>
<tr th:each="smokeTest : ${smokeTests}">
<td>
th:text="${smokeTest.name}">A Smoke Test'
</td>
</tr>
</table>
</body>
</html>
В основном моя проблема в том, что я не могу запустить цикл как <td>
s внутри <tr>
s . Есть ли какой-либо способ, которым этот код мог бы работать?
Ответ №1:
Вы должны поместить th:text в качестве атрибута тега, чтобы
<tr th:each="smokeTest : ${smokeTests}">
<td th:text="${smokeTest.name}">A Smoke Test'</td>
</tr>
должно выполняться.
Ответ №2:
Простое решение, которое приходит на ум первым:
<th:block th:each="smokeTest : ${smokeTests}">
<tr>
<td th:text="${smokeTest.name}">A Smoke Test'</td>
</tr>
</th:block>
Подробности: http://www.thymeleaf.org/whatsnew21.html#bloc
Комментарии:
1. Это не работает, потому что th: text не имеет отношения к циклу.
Ответ №3:
Хотя, это поздний ответ. Это более конкретная работа, например
<tr th:each="smokeTest : ${smokeTests}">
<td><p th:text="${smokeTest.name}"></p></td>
</tr>