Commit 36cc581b by Patryk Czarnik

Odebranie danych z formularza w jednym obiekcie

parent f115bfc8
...@@ -59,27 +59,17 @@ public class ProductController { ...@@ -59,27 +59,17 @@ public class ProductController {
@PostMapping({"/products/new", "/products/{id}/edit"}) @PostMapping({"/products/new", "/products/{id}/edit"})
public String saveProduct( public String saveProduct(
Integer productId, Product product,
String productName,
BigDecimal price,
BigDecimal vat,
String description,
Model model) { Model model) {
// W tej wersji dane z wypełnionego formularza odbieramy w postaci oddzielnych parametrów metody. // W tej wersji dane z wypełnionego formularza odbieramy w postaci jednego obiektu Product.
// Na podstawie przysłanych parametrów tworzę obiekt Product // Spring sam wpisze dane do pól o takich samych nazwach.
Product product = new Product(); // Taki parametr od razu staje się częścią modelu (to jest tzw. ModelAttribute)
product.setProductId(productId); // i nie trzeba dodawać go w osobnym poleceniu.
product.setProductName(productName);
product.setPrice(price);
product.setVat(vat);
product.setDescription(description);
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);
// Aby w formularzu było widać dane produktu, dodajemy go też do modelu
model.addAttribute("product", product);
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