Commit 489bc835 by Patryk Czarnik

lista produktów - wersja z beanem

parent a68da06f
package sklep.web;
import java.util.List;
import sklep.db.DBConnection;
import sklep.db.DBException;
import sklep.db.ProductDAO;
import sklep.model.Product;
public class ProductBean {
// Metoda wygląda jak getter, ale wewnętrznie czyta dane z bazy, a nie z własnej zmiennej.
public List<Product> getAllProducts() throws DBException {
// za każdym razem otwieramy nowe połączenie - w prawdziwej aplikacji uznalibyśmy to za mało wydajne
try(DBConnection db = DBConnection.open()) {
ProductDAO productDAO = db.productDAO();
return productDAO.readAll();
}
}
}
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lista produktów 5</title>
<link rel="stylesheet" type="text/css" href="styl.css">
</head>
<body>
<h1>Lista produktów - wersja 5 JSP</h1>
<jsp:useBean id="bean" class="sklep.web.ProductBean"/>
<c:forEach var="a" items="${bean.allProducts}">
<div class="product">
<h3>${a.productName}</h3>
<div>Cena: ${a.price} PLN</div>
<div>VAT: ${a.vat * 100}%</div>
<c:if test="${not empty(a.description)}">
<div class="description">${a.description}</div>
</c:if>
</div>
</c:forEach>
</body>
</html>
......@@ -56,3 +56,9 @@ h2, h3, h4 {
max-height: 200px;
margin: 5px;
}
.description {
font-size: smaller;
font-style: italic;
}
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