Итерацию с индексом с использованием тимелеафа
Я новичок в thymeleaf и конвертирую весь мой код jsp в thymeleaf. Я не знаю, как преобразовать этот ниже код в thymeleaf. Кто-нибудь знает, как преобразовать приведенный ниже код в thymeleaf
?
<logic:iterate id="id" property="idList" name="sampleForm" indexId="i">
<label for="id<%=i%>">
<bean:write name="id" property="id" />
</label>
</logic:iterate>
Скажите, пожалуйста, как инициализировать значение индекса в thymeleaf
для использования в некоторых значениях?
Ответы
Ответ 1
<label th:each="id,status : ${idList}" th:for="|id${status.index}|" th:text="${id.id}"></label>
-
th:each
будет выполнять итерацию по idList
, назначить каждому элементу id
и создать label
для каждого элемента. Статус элемента можно назначить добавлением дополнительного имени, разделенного запятой (status
в этом примере).
-
th:for
установит атрибут for
метки. Трубы (|
) используются для упрощения конкатенации строк.
-
th:text
установит внутренний текст метки на идентификатор.
Ответ 2
Вы также можете использовать его следующим образом:
<label th:each="id : ${idList}" th:for="${'id' + idStat.index}" th:text="{id.id}">
Здесь начинается индекс от 0
Если вы хотите запустить индекс из 1, используйте этот
<label th:each="id : ${idList}" th:for="${'id' + idStat.count}" th:text="{id.id}">
Ознакомьтесь с Документация Thymeleaf