Вы публикуете свою форму и перенаправляете ее на получение.Проблема в том, что вы всегда создаете новый атрибут модели:
model.addAttribute("productForm", new ProductModel());
. Вы должны проверить, содержит ли RedirectAttributes «productForm», и добавить его.
Object productForm = redirectAttributes.getFlashAttributes().get("productForm");
if(productForm == null){
productForm = new ProductModel();
}
model.addAttribute("productForm", productForm);
Это будет работать только напри первом перенаправлении второй доступ не будет содержать атрибут.Если вы хотите сохранить данные между последовательными запросами на получение, вы должны сохранить их в сеансе.В вашем методе записи вы можете заменить
redir.addFlashAttribute("productForm", productModel);
на:
session.setAttribute("productForm", productModel);
и в вашем запросе на получение
Object productForm = session.getAttribute("productForm");
if(productForm == null || !(productForm instanceOf ProductModel)){
productForm = new ProductModel();
}
model.addAttribute("productForm", productForm);