Hej. Mam oto taki prosty kod który umożliwia edycję użytkowników:
@GetMapping("users/{id}")
public String editUser(@PathVariable long id, Model model)
{
User user = userService.findByID(id);
UserEditForm userEditForm = new UserEditForm(user);
model.addAttribute("userEditForm", userEditForm);
return "admin/userEdit";
}
@PostMapping("users/{id}")
public String updateUser(@PathVariable long id, @ModelAttribute UserEditForm userEditForm,
BindingResult bindingResult, @ModelAttribute("allRoles") Iterable<Role> roles,
SessionStatus sessionStatus)
{
userEditValidator.validate(userEditForm, bindingResult);
if (bindingResult.hasErrors()) {
return "admin/userEdit";
}
User user = new User(userEditForm);
userService.save(user);
sessionStatus.setComplete();
return "redirect:/admin/users";
}
I teraz tak w momencie błędów przy bindowaniu powracam do tego samego widoku jednak nigdzie nie dodaje swojego obiektu (UserEditForm) do modelu tak jak w przypadku GET'a. Stąd moje pytanie, w którym miejscu w kodzie niejawnie jest to robione?