Commit cdac874d by Patryk Czarnik

Wyświetlanie błędów zapisu w razie ich wystąpienia

parent 36cc581b
......@@ -66,10 +66,15 @@ public class ProductController {
// Taki parametr od razu staje się częścią modelu (to jest tzw. ModelAttribute)
// i nie trzeba dodawać go w osobnym poleceniu.
System.out.println("Produkt przed zapisem: " + product);
productRepository.save(product);
System.out.println("Produkt po zapisie : " + product);
try {
System.out.println("Produkt przed zapisem: " + product);
productRepository.save(product);
System.out.println("Produkt po zapisie : " + product);
model.addAttribute("saved", true);
} catch(Exception e) {
System.out.println("Produkt bez zapisu : " + product);
model.addAttribute("errors", List.of(e.toString()));
}
return "product_form";
}
......
......@@ -8,7 +8,15 @@
<link rel="stylesheet" type="text/css" href="/styl.css">
</head>
<body>
<h1>Edycja produktu</h1>
<c:choose>
<c:when test="${not empty(product.productId)}">
<h1>Edycja produktu nr ${product.productId}</h1>
</c:when>
<c:otherwise>
<h1>Edycja nowego produktu</h1>
</c:otherwise>
</c:choose>
<form id="product-form" method="post">
<table class="form">
......@@ -41,6 +49,21 @@
</table>
</form>
<c:if test="${not empty(errors)}">
<div class="error">
<h4>Błędy:</h4>
<ul>
<c:forEach var="error" items="${errors}">
<li>${error}</li>
</c:forEach>
</ul>
</div>
</c:if>
<c:if test="${saved}">
<div class="info">Zapisano produkt nr ${product.productId}</div>
</c:if>
<p>[<a href="/products">powrót do listy produktów</a>]</p>
<p>[<a href="/">powrót do spisu treści</a>]</p>
......
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