Commit d0008c2f by Patryk Czarnik

Przekierowanie po poprawnym zapisie.

parent 33b8543b
...@@ -78,18 +78,22 @@ public class ProductController { ...@@ -78,18 +78,22 @@ public class ProductController {
// Metoda jest wywoływana zawsze, a to programista ma sprawdzić czy walidacja się powiodła. // Metoda jest wywoływana zawsze, a to programista ma sprawdzić czy walidacja się powiodła.
// W BindingResult znajdują się też informacje o błędach. // W BindingResult znajdują się też informacje o błędach.
// Gdybyśmy mimo błędów spróbowali wywołać save, to wtedy Hibernate zablokuje taki zapis. // Gdybyśmy mimo błędów spróbowali wywołać save, to wtedy Hibernate zablokuje taki zapis.
// W tej wersji po poprawnym zapisie przechodzimy na stronę ze szczegółami produktu.
if(bindingResult.hasErrors()) { if(bindingResult.hasErrors()) {
model.addAttribute("errors", bindingResult.getAllErrors()); // błędów już nie dodajemy oddzielne, bo będą wyświeltlone przez f:error
// model.addAttribute("errors", bindingResult.getAllErrors());
return "product_form";
} else try { } else try {
System.out.println("Produkt przed zapisem: " + product); System.out.println("Produkt przed zapisem: " + product);
productRepository.save(product); productRepository.save(product);
System.out.println("Produkt po zapisie : " + product); System.out.println("Produkt po zapisie : " + product);
model.addAttribute("saved", true); return "redirect:/products/" + product.getProductId();
} catch(Exception e) { } catch(Exception e) {
System.out.println("Produkt bez zapisu : " + product); System.out.println("Produkt bez zapisu : " + product);
model.addAttribute("errors", ExceptionUtils.allMessages(e)); model.addAttribute("errors", ExceptionUtils.allMessages(e));
return "product_form";
} }
return "product_form";
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment