Как я сказал в заголовке, я теряю информацию в объекте, который возвращается из JSP в контроллер.
Из моего контроллера я передаю ModelAndView с объектом класса Historic.
На странице JSP у меня есть доступ ко всем значениям этого объекта, но когда я отправляю, я просто получаю часть этой информации, некоторые теряются в процессе.
Контроллер:
@GetMapping("/tt")
public ModelAndView index(Model model) {
HistoricBO historic = new HistoricBO();
// ... I fulfill this object ...
return new ModelAndView("tt", "historic", historic);
}
В JSP у меня есть доступ ко всей информации, которую я передал.
Я использую значения двумя разными способами. Первый (информация, которую позже я не смогу восстановить):
<form:form method="POST" action="/addInput" modelAttribute="historic">
....
<form:label path="userHistoric[0].user.name" />
<form:input path="userHistoric[0].user.name" disabled="true" />
Быть userHistoric списком внутри объекта HistoricBO.
И еще один способ, которым я использую значения объектов, - это циклическое переключение регистров и их отображение. Я могу иметь эти значения после отправки:
c:forEach items="${historic.userHistoric[0].periods[0].registers}" var="reg" varStatus="rog">
...
<td class="tab-odd">
<form:input path="userHistoric[0].periods[0].registers[${rog.index}].hours[0]" class="monin" type="number" />
</td>
Метод, который перехватывает отправку, выглядит следующим образом:
@PostMapping("/addInput")
public String savePeriod(
@ModelAttribute("historic") HistoricBO inputs,
BindingResult result, ModelMap model) {
if (result.hasErrors()) {
return "error";
}
...
И здесь объект inputs только установил значения часов, остальная часть объекта пуста.
Подскажите, пожалуйста, почему теряется информация и как ее решить?
Спасибо