Commit 7b26ec2d authored by Lefebvre michael's avatar Lefebvre michael

projet jsp 7

parent 07bd1cd8
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Refresh" content="0; URL=pages/catalogue.jsp"/>
</head>
</html>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<%-- Ajouter le livre au panier --%>
<c:set target="${sessionScope.panier}"
property="article"
value="${ens.catalogue[param.id]}" />
<c:redirect url="catalogue.jsp" />
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Catalogue des Produits</title>
</head>
<body bgcolor="white">
<h1>Catalogue des Produits</h1>
Veuillez choisir un livre dans notre catalogue afin d'obtenir des
informations sur ce dernier et décider si vous souhaitez en acheter une copie:
<jsp:useBean id="ens" scope="application"
class="beans.CatalogueBean"
/>
<jsp:useBean
id="panier" scope="session"
class="beans.PanierBean"
/>
<%--
Genere une liste de livres.
--%>
<ul>
<c:forEach items="${ens.catalogue}" var="association">
<c:url var="produitURL" value="produit.jsp">
<c:param name="id" value="${association.key}" />
</c:url>
<li>
<a href="${produitURL}">${association.value.nom}</a>
</li>
</c:forEach>
</ul>
<%-- affiche le contenu du panier, si il existe --%>
<c:if test="${!empty panier.listeProduits}">
Votre panier contient les livres suivants:
<p />
<table >
<c:forEach items="${panier.listeProduits}" var="produit">
<tr>
<td>${produit.nom}</td>
<td>
<fmt:formatNumber value="${produit.prix}"
type="currency" />
</td>
</tr>
</c:forEach>
<tr><td colspan=2><hr /></td></tr>
<tr>
<td><b>Total:</b></td>
<td>
<fmt:formatNumber value="${panier.total}"
type="currency" />
</td>
</tr>
</table>
</c:if>
</body>
</html>
<%@ page language="java" contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Description d'un Produit</title>
</head>
<body bgcolor="white">
<%-- Rcuperer le produit du catalogue --%>
<c:set var="produit"
value="${ens.catalogue[param.id]}"
scope="page" />
<h1>${produit.nom}</h1>
${produit.descr} <br />
${produit.prix}
<p />
<c:url var="ajoutAuPanierURL" value="ajoutAuPanier.jsp" >
<c:param name="id" value="${produit.id}" />
</c:url>
<a href="${ajoutAuPanierURL}">
Ajouter ce produit au panier
</a>
</body>
</html>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/web" relative="/" />
</webroots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Tomcat 9.0.20" level="application_server_libraries" />
<orderEntry type="library" name="jstl-1.2" level="project" />
</component>
</module>
\ No newline at end of file
package beans;
import java.io.*;
import java.util.*;
public class CatalogueBean implements Serializable {
private static final long serialVersionUID = 1L;
// Le modele
private Map<String,ProduitBean> catalogue = new TreeMap<>();
public Map<String, ProduitBean> getCatalogue() {
return catalogue;
}
/**
* Constructeur. Cree tous les objets ProduitBean et les ajoute
* au catalogue.
*/
public CatalogueBean() {
ProduitBean prod = new ProduitBean();
prod.setId("1000");
prod.setNom("JavaServer Pages");
prod.setDescr("Learn how to develop a JSP based web application.");
prod.setPrix(32.95f);
catalogue.put("1000", prod);
prod = new ProduitBean();
prod.setId("2000");
prod.setNom("Java Servlet Programming");
prod.setDescr("Learn how to develop a servlet based web application.");
prod.setPrix(39.95f);
catalogue.put("2000", prod);
prod = new ProduitBean();
prod.setId("3000");
prod.setNom("Java In a Nutshell");
prod.setDescr("Learn the Java programming language.");
prod.setPrix(42.95f);
catalogue.put("3000", prod);
}
}
package beans;
import java.io.*;
import java.util.*;
public class PanierBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2L;
// attribut d'instance
private Set<ProduitBean> listeProduits = new HashSet<>();
// attribut expose via un GETTER
public Set<ProduitBean> getListeProduits() {
return listeProduits;
}
// setter necessaire pour l'ajoit d'un produit
public void setArticle(ProduitBean livre){
System.out.println("ajout");
if(livre!= null)
this.listeProduits.add(livre);
}
public PanierBean(){
ProduitBean prod = new ProduitBean();
prod.setId("1000");
prod.setNom("JavaServer Pages");
prod.setDescr("Learn how to develop a JSP based web application.");
prod.setPrix(32.95f);
listeProduits.add(prod);
}
// Regle metier (utilisée dans catalogue.jsp)
public float getTotal() {
float total = 0;
for(ProduitBean produit : listeProduits) {
float price = produit.getPrix();
total = total + price;
}
return total;
}
@Override
public String toString() {
return "PanierBean [listeProduits=" + listeProduits + "]";
}
public static void main(String[] args) {
System.out.println(new PanierBean());
}
}
package beans;
import java.io.*;
import java.util.Objects;
public class ProduitBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
// Le Data Transfert Object
private String id; // cle metier
private String nom;
private String descr;
private float prix;
public String getId() {
return id;
}
public String getNom() {
return nom;
}
public String getDescr() {
return descr;
}
public float getPrix() {
return prix;
}
void setId(String id) {
this.id = id;
}
void setNom(String nom) {
this.nom = nom;
}
void setDescr(String descr) {
this.descr = descr;
}
void setPrix(float prix) {
this.prix = prix;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ProduitBean)) return false;
ProduitBean that = (ProduitBean) o;
return id.equals(that.id);
}
@Override
public int hashCode() {
return Objects.hash(id);
}
@Override
public String toString() {
return "ProduitBean [id=" + id + ", nom=" + nom + ", descr=" + descr
+ ", prix=" + prix + "]";
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Refresh" content="0; URL=pages/catalogue.jsp"/>
</head>
</html>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<%-- Ajouter le livre au panier --%>
<c:set target="${sessionScope.panier}"
property="article"
value="${ens.catalogue[param.id]}" />
<c:redirect url="catalogue.jsp" />
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Catalogue des Produits</title>
</head>
<body bgcolor="white">
<h1>Catalogue des Produits</h1>
Veuillez choisir un livre dans notre catalogue afin d'obtenir des
informations sur ce dernier et décider si vous souhaitez en acheter une copie:
<jsp:useBean id="ens" scope="application"
class="beans.CatalogueBean"
/>
<jsp:useBean
id="panier" scope="session"
class="beans.PanierBean"
/>
<%--
Genere une liste de livres.
--%>
<ul>
<c:forEach items="${ens.catalogue}" var="association">
<c:url var="produitURL" value="produit.jsp">
<c:param name="id" value="${association.key}" />
</c:url>
<li>
<a href="${produitURL}">${association.value.nom}</a>
</li>
</c:forEach>
</ul>
<%-- affiche le contenu du panier, si il existe --%>
<c:if test="${!empty panier.listeProduits}">
Votre panier contient les livres suivants:
<p />
<table >
<c:forEach items="${panier.listeProduits}" var="produit">
<tr>
<td>${produit.nom}</td>
<td>
<fmt:formatNumber value="${produit.prix}"
type="currency" />
</td>
</tr>
</c:forEach>
<tr><td colspan=2><hr /></td></tr>
<tr>
<td><b>Total:</b></td>
<td>
<fmt:formatNumber value="${panier.total}"
type="currency" />
</td>
</tr>
</table>
</c:if>
</body>
</html>
<%@ page language="java" contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Description d'un Produit</title>
</head>
<body bgcolor="white">
<%-- Rcuperer le produit du catalogue --%>
<c:set var="produit"
value="${ens.catalogue[param.id]}"
scope="page" />
<h1>${produit.nom}</h1>
${produit.descr} <br />
${produit.prix}
<p />
<c:url var="ajoutAuPanierURL" value="ajoutAuPanier.jsp" >
<c:param name="id" value="${produit.id}" />
</c:url>
<a href="${ajoutAuPanierURL}">
Ajouter ce produit au panier
</a>
</body>
</html>
\ No newline at end of file
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