Я новичок в Thymeleaf и пытаюсь решить следующую проблему:
class Person() {
int id;
String name;
// getter & setter;
}
Фрагмент из класса Controller:
@GetMapping(value = {"..."})
public ModelAndView getXXX(HttpServletRequest request)
{
ModelAndView mv = new ModelAndView("xxx");
...
List<Person> persons = ... // Let's say a list of Persons {1: "Peter", 2: Anna}
mv.addObject("persons", persons);
...
return mv;
}
Теперь в шаблоне xxx.html я пытаюсь создать форму для каждого человека в лицах (а не 1 форму для всех людей в лицах). Мой подход пока:
<form th:each="p, stat : ${persons}"
th:object="${persons[stat.index]}"
th:action="..." method="POST" >
<input th:field="*{name}" type="text">
</form>
Не удивительно: это не работает. Если я удаляю элемент ввода, исключение не происходит. С помощью input-element я получаю следующее сообщение (вызвано: java.lang.IllegalStateException):
Neither BindingResult nor plain target object for bean name 'persons[stat' available as request attribute
Есть ли способ только добавить список объектов в модель и при этом иметь возможность создавать формы для каждого объекта списка и привязывать объект-ответчик к каждой форме?
Спасибо.