Commit 363e9371 by Patryk Czarnik

Lista produktów przez JSP

parent 189c3e2c
package sklep.controller;
import java.util.List;
import java.util.stream.Collectors;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sklep.model.Product;
......@@ -21,13 +21,18 @@ public class AlternatywneProdukty2 {
private EntityManager em;
@GetMapping("/products")
@ResponseBody
public String products() {
public String products(Model model) {
TypedQuery<Product> query = em.createNamedQuery("Product.findAll", Product.class);
List<Product> products = query.getResultList();
return products.stream().map(Product::getProductName).collect(Collectors.joining(", "));
model.addAttribute("products", products);
return "/products.jsp";
}
@GetMapping("/products/{id}")
public String oneProduct(Model model, @PathVariable int id) {
Product product = em.find(Product.class, id);
model.addAttribute("products", List.of(product));
return "/products.jsp";
}
}
<%@ 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>Katalog towarów</title>
<link rel="stylesheet" type="text/css" href="/styl.css"/>
</head>
<body>
<h1>Wszystkie produkty</h1>
<c:forEach var="product" items="${products}">
<div class="product">
<p>Towar <a href="products/${product.productId}" class="product-name">${product.productName}</a></p>
<p>Cena: <span class="product-price">${product.price}</span></p>
<p>${product.description}</p>
</div>
</c:forEach>
<div><a href="/">Wróć na stronę główną</a></div>
</body>
</html>
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