Dieser Artikel teilt Ihnen weiterhin das Einkaufswagenmodul im Javaweb -Buchladen für Ihre Referenz mit. Der spezifische Inhalt ist wie folgt
Einkaufswagen Lagerung
Speichern in Sitzung Speichern in Cookies Speichern in der Datenbank
1. Erstellen Sie verwandte Klassen
Einkaufswagenstruktur:
Cartitem: Einkaufswageneintrag, mit Büchern und Menge enthält
Wagen: Einkaufswagen, einschließlich einer Karte
/*** Einkaufswagenklasse*/public class cart {private map <string, cartitem> map = new LinkedHashMap <String, CartItem> (); / *** Berechnen Sie die Gesamtsumme* @return*/ public double gettotal () {// Total = Summe der Subtotalen aller Einträge BigDecimal Total = new BigDecimal ("0"); für (Cartitem CartItem: map.Values ()) {BigDecimal subtotal = new BigDecimal ("" + cartitem.getSuBtotal ()); Total = Total.Add (subtotal); } return Total.DoubleValue (); }/*** Fügen Sie dem Auto einen Eintrag hinzu* @param cartitem*/public void add (cartitem cartitem) {if (map.containsKey (cartitem.getBook (). Eintrag_cartItem.setCount (_cartItem.getCount () + Cartitem.getCount ()); // Setzen Sie die Anzahl der alten Einträge auf seine eigene Nummer + die Anzahl der neuen Einträge map.put (Cartitem.getbook (). Getbid (), _cartItem); } else {map.put (Cartitem.getbook (). GETBID (), CartItem); }} / *** Alle Einträge löschen* / public void clear () {map.clear (); } / *** Löschen Sie die angegebenen Einträge* @param bid* / public void delete (String Bid) {map.remove (bid); } / *** Alle Einträge erhalten* @return* / public Collection <Kartitem> getCartItems () {return map.values (); }} /*** Einkaufswagen -Eingangsklasse**/öffentliche Klasse Cartitem {privates Buchbuch; // Produkt privat int Count; // Quantität/*** Subtotale Methode* @return* gehandeltes Binärbetriebsfehlerproblem*/public double getubtotal () {// subtotale Methode, aber es hat kein entsprechendes Mitglied! BigDecimal d1 = neu BigDecimal (book.getPrice () + ""); BigDecimal D2 = New BigDecimal (Graf + ""); return d1.multiply (d2) .doubleValue (); } public book getbook () {return book; } public void setbook (Buchbuch) {this.book = book; } public int getCount () {return count; } public void setCount (int count) {this.count = count; }}2. Einkaufswageneintrag hinzufügen
<%@ page Language = "java" import = "java.util. URI = "http://java.sun.com/jsp/jstl/fmt" %> < %@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %> <! docttml public " Transsitional // en "> <html> <kopf> <title> Einkaufswagenliste </title> <meta http-äquiv =" pragma "content =" no-cache "> <meta http-äquiv =" cache-control "content =" no-cache "> <meta http-äxiv =" content = "content =" 0 "0"> <meta http-äxvr. content = "keyword1, keyword2, keyword3"> <meta http-äquiv = "Beschreibung" content = "Dies ist meine Seite"> <meta http-äquiv = "content-type" content = "text/html; charset = utf-8"> <! type = "text/css"> * {Schriftgröße: 11PT; } div {margin: 20px; Grenze: solide 2px grau; Breite: 150px; Höhe: 150px; Text-Align: Mitte; } li {margin: 10px; } #buy {Hintergrund: URL (<c: url value = '/images/all.png'/>) no-repeat; Anzeige: Inline-Block; Hintergrundposition: 0 -902px; Rand-Links: 30px; Höhe: 36px; Breite: 146px; } #buy: hover {Hintergrund: url (<c: url value = '/images/all.png'/>) no-repeat; Anzeige: Inline-Block; Hintergrundposition: 0 -938px; Rand-Links: 30px; Höhe: 36px; Breite: 146px; } </style> </head> <body> <h1> Einkaufswagen </h1> <c: Wählen Sie> <%-Wenn es kein Auto gibt, oder die Inhaltssammlung des Autos 0-Länge-%> <c: Wenn test = "$ {leere SESSIONSCOPE.CART oder FN: Länge (SESSIsionScope.Cart.Cartitems) EQ 0}"> <IMG Src = " value = '/Images/cart.png' /// "/> </c: Wenn> <c: ansonsten> <table cellpacing =" 0 "Hintergrund =" schwarz "> <tr> <td colspan =" 7 "align =" right "style =" font-size: 15pt; CART </a> </td> </tr> <tr> <Th> Bild </th> <Th> Buchtitel </th> <Th> Autor </th> <Th> Einheit Preis </th> <Th> Menge </th> <Th> subtotal </th> <Th> operation </th> </tr> <c: forach items = "$" {{Sessionscope.Cart.Cart.Cart. <tr> <td> <div> <img src = "<c: url value = '/$ {cartitem.book.image}' //"/> </div> </td> <td> $ {Cartitem.Book.Book. Yuan </td> <td> $ {cartitem.count} </td> <td> $ {cartitem.subtotal} yuan </td> <td> <a href = "<c: url value = '/cartservlet? Method = delete & bid = {tdm.book.bid.bid}'///>"> " </td> </td> </tr> </c: foreach> <ttr> <td colspan = "7" align = "right" style = "Schriftgröße: 15PT; Schriftgewicht: 900 "> Gesamt: $ {sissionscope.cart.total} yuan </td> </tr> <tr> <td colspan =" 7 "align =" right "style =" font-size: 15pt; Schriftgewicht: 900 "> <a id =" kaufen "href =" <c: url value = '/orderServlet? methode = add'/> "> </a> </td> </tr> </table> </c: ansonsten> </c: wählen> </body> </html> öffentliche Klasse CartServlet erweitert BaseServlet { /** * Einkaufseintrag hinzufügen * @param request * @param response * @return * @throw ServletException * @Throws ioException * /public String add (httpServletRequest -Anfrage, HttpServletResponce -Reaktion) löst servletException (add. Der Eingang zum Auto*//** 1. Holen Sie sich das Auto*/ cart cart = (cart) request.getSession (). getAtTribute ("cart"); /** Das Formular gibt nur das Gebot und die Menge* 2. Erhalten Sie den Eintrag*> Holen Sie sich das Buch und die Menge*> Erhalten Sie zuerst das Gebot des Buches, und dann müssen wir die Datenbank über das Gebot abfragen, um das Buch zu erhalten*> Es gibt*/ String Bid = Anfrage.getParameter ("Bid"); Buchbuch = new BookService (). Load (Bid); int count = Integer.ParseInt (request.getParameter ("count")); Cartitem Cartitem = new Cartitem (); Cartitem.Setbook (Buch); Cartitem.SetCount (Graf); /** 3. Fügen Sie den Eintrag zum Auto hinzu*/ cart.add (Cartitem); return "f: /jsps/cart/List.jsp"; } / ** * Löschen Sie den Einkaufseintrag * @param request * @param reaktion * @return * @throws ServletException * @throws ioException * / public String Clear (httpServletRequest Request, httpServletRespectRespect) wirft eine Antwort des ServletException aus. (Cart) request.getSession (). Getattribute ("cart"); cart.clear (); return "f: /jsps/cart/List.jsp"; } / ** * Einkaufseinträge löschen * @param request * @param response * @return * @throwsexception * @throws ioException * / public String delete (httpServletRequest Request, httpServletRespectRection) Throws ServletException, IOException { / * * * 1. (Cart) request.getSession (). Getattribute ("cart"); String bid = request.getParameter ("bid"); cart.delete (bid); return "f: /jsps/cart/List.jsp"; }}3.. Löschen Sie den Eintrag
4. Löschen Sie den Einkaufswageneintrag
5. Mein Einkaufswagen
Es gibt einen Link in Top.jsp: Mein Einkaufswagen
Mein Karren greift direkt auf /jsps/cart/List.jsp und zeigt alle Einträge des Wagens in der Sitzung an.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.