Вот что я пытаюсь сделать:
- У меня есть таблица с атрибутом модели, представляющим собой список объектов.Я представляю их в строках таблицы, используя «th: each»
- . В каждой строке я ставлю флажок, намереваясь отметить некоторые из представленных строк таблицы
- Я хочу отправить форму и POSTтолько список выбранных атрибутов модели (только те, что в выбранных строках таблицы)
Вот так я представляю список атрибутов модели объектов внутри строк таблицы (я пропустил ненужные части кода):
<form class="form-horizontal"
th:action="@{'/supplier/define'}"
th:object="${foundSuppliers}" th:method="POST">
.....
<tr th:each="supplier, iterStat : ${foundSuppliers.suppliersDTO}">
<td class="hide" th:text="${supplier.id}">ID</td>
<td th:text="${supplier.name}">Name</td>
<td><input th:id="'chk_' + ${supplier.id}"
type="checkbox" th:field="*{foundSuppliers.suppliersDTO}" th:value="${supplier}">
</td>
</tr>
Когда я отправляю эту форму, мой список "foundSuppliers.suppliersDTO" пуст, хотя я проверяю хотя бы одну строку в своей таблице.
Мой метод контроллера за указанным th: action (тега "form"):
public String defineSuppliers(@ModelAttribute SupplierListDTO foundSuppliers, Model model) {
...
}
Что мне нужно сделать, чтобы заполнить файл foundSuppliers.suppliersDTO списком объектов, помеченных флажком?
Чтобы уточнить, «foundSuppliers» - это атрибут модели, который я передаю от контроллера, и он содержит список поставщиков.Класс, который я передаю как "foundSuppliers", выглядит следующим образом:
public class SupplierListDTO {
private List<SupplierDTO> suppliersDTO;
.....
}
И я использую тот же, что и th: object внутри тега "form", это список, который я хочу передать в бэкэнд-контроллер, когдаФорма отправлена, за исключением того, что список должен содержать только те объекты внутри строк таблицы, где я поставил галочку.