diff --git a/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/ejb/GestionProduits.java b/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/ejb/GestionProduits.java index d4fa553..e586798 100644 --- a/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/ejb/GestionProduits.java +++ b/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/ejb/GestionProduits.java @@ -3,10 +3,18 @@ import fr.lteconsulting.training.moviedb.model.Produit; import javax.ejb.Stateless; +import javax.persistence.TypedQuery; +import java.util.List; @Stateless public class GestionProduits extends GestionGenerique { public GestionProduits() { super(Produit.class); } + + public List findByName(String search) { + TypedQuery query = em.createQuery("select p from Produit p where p.nom like :search", Produit.class); + query.setParameter("search", "%" + search + "%"); + return query.getResultList(); + } } diff --git a/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/servlet/ProduitsServlet.java b/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/servlet/ProduitsServlet.java index 1ee8b8e..8e4595b 100644 --- a/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/servlet/ProduitsServlet.java +++ b/formation-programmation-java/projets/javaee/movie-db/src/main/java/fr/lteconsulting/training/moviedb/servlet/ProduitsServlet.java @@ -20,7 +20,13 @@ public class ProduitsServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - List produits = gestionProduits.findAll(); + List produits; + + String search = req.getParameter("search"); + if (search != null && !search.isEmpty()) + produits = gestionProduits.findByName(search); + else + produits = gestionProduits.findAll(); Vues.afficherProduits(req, resp, produits); } diff --git a/formation-programmation-java/projets/javaee/movie-db/src/main/webapp/WEB-INF/produits.jsp b/formation-programmation-java/projets/javaee/movie-db/src/main/webapp/WEB-INF/produits.jsp index 92f68ac..856bb2b 100644 --- a/formation-programmation-java/projets/javaee/movie-db/src/main/webapp/WEB-INF/produits.jsp +++ b/formation-programmation-java/projets/javaee/movie-db/src/main/webapp/WEB-INF/produits.jsp @@ -14,6 +14,12 @@ List produits = (List) request.getAttribute("produits"); %> +

Recherche

+
+ + +
+

Produits