У меня есть код для итерации списка, отправленного из контроллера на страницу просмотра, например:
<tbody>
<th:block th:each = "job,iterStat : ${listJob}">
<tr class = "job-detail" th:if = "${job.status == 'success'}">
<td th:text='${iterStat.index}+1'><input name = "id"
type = "hidden" value = "th:text='${job.id}'" /></td>
<td th:text='${job.name}'></td>
<td th:text='${job.time}'></td>
<td>yyyy/mm/dd hh24/mi/ss</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
</tr>
<tr class = "danger job-detail" th:if = "${job.status == 'danger'}">
<td th:text='${iterStat.index}+1'><input name = "id"
type = "hidden" value = "th:text='${job.id}'" /></td>
<td th:text='${job.name}'></td>
<td th:text='${job.time}'></td>
<td>yyyy/mm/dd hh24/mi/ss</td>
<td>yyyy/mm/dd hh24/mi/ss</td>
</tr>
</th:block>
</tbody>
У меня есть скрытое значение в первом td:
<td th:text='${iterStat.index}+1'><input name = "id"
type = "hidden" value = "th:text='${job.id}'" /></td>
Но когда я его проверяю, скрытое значение не определено. Вот изображение, показывающее, что элемент ввода не был сгенерирован. Не знаю, что делать с этой проблемой :( Раньше не встречал.

Так как я могу это исправить?




Я считаю, что th:text='${iterStat.index}+1' перезаписал скрытый ввод. Вам также может понадобиться th:value на входе.
Если вы хотите и того, и другого, попробуйте это.
<td>
<th:block th:text='${iterStat.index}+1'></th:block>
<input name = "id" type = "hidden" th:value = "${job.id}" />
</td>
Так есть ли способ их объединить?
@ NguyenHoangVu-K11FUGHCM Я добавил образец. это поможет?
value = "th:text='${job.id}'" не кажется правильным ... Это то, что вы имеете в виду? th:text не запускается.
используйте th: text, и ввод не скроет
@ NguyenHoangVu-K11FUGHCM Зачем использовать th:text на входе? Вам может понадобиться th:value?
Я узнаю значение:, комбинирую его с вашим кодом, и он хорошо работает
Я новичок в тимелеафе: D Спасибо за вашу помощь
@ NguyenHoangVu-K11FUGHCM Хорошо! Я доработаю свой ответ
th: текст заменяет все содержимое в td (включая ваш ввод)