Avatar billede carls2002 Nybegynder
03. oktober 2002 - 20:29 Der er 4 kommentarer og
1 løsning

Indkøbskurv med JSP

Hej

Jeg har en JSP side hvor man kan søge på nogle vare i en database ved hjælp af JSP !
Nu kunne jeg godt tænke mig at få bygget en indkøbskurv på !
Jeg har hørt at man kan bruge JSP beans til det (Uden at jeg helt ved hvad det er)

Er der nogen der har et eksempel derpå ?
Eller er der en der kan hjælpe mig lidt igang ?

På forhånd tak for hjælpen !

/Carsten
Avatar billede disky Nybegynder
03. oktober 2002 - 21:35 #1
Prøv at søg på google.
Avatar billede carls2002 Nybegynder
03. oktober 2002 - 22:22 #2
Har prøvet... Jeg vil ikke sige at der ikke er noget, men svært at hitte rede i !
Har du måske nogle konkrete links ?
Avatar billede disky Nybegynder
03. oktober 2002 - 22:25 #3
desværre ikke, den eneste indkøbskurv jeg selv har lavet er ren javascript.
Avatar billede moller2567 Nybegynder
04. oktober 2002 - 15:02 #4
Prøv vedlagte. Det er et eksempel fra bogen JSP in 24 hours. Jeg har ikke selv prøvet eksemplet endnu, men jeg vil da gerne vide, om du får det til at virke. Eksemplet kører godtnok ikke op mod en database, men kun "tekst-varer", der er på JSP-siden. Men princippet må være det samme.

Først en javabønne, der repræsenterer emnerne i din indkøbskurv (Item.java):


package DinPakkeNavn;
public class Item {
  String SKU, name, description;
  double price;
  public Item(){}
  public Item(String s, String n, String d, double p){
    SKU= s;
    name = n;
    description = d;
    price = p;
  }
  public String getName(){return name;}
  public String getSku(){return SKU;}
  public String getDescription(){return description;}
  public double getPrice(){return price;}
}


Så en JavaBønne der laver din indkøbskurv (ShoppingCart.java):

package DinPakkeNavn;
import java.util.*;
public class ShoppingCart {
  Vector items = new Vector(10);
  public void addItem(Item i){items.addElement(i);}
  public void deleteItem(String sku){
    Enumeration itemEnum = getItems();
    while(itemEnum.hasMoreElements()){
      Item item = (Item)itemEnum.nextElement();
      if(item.getSku().equals(sku)){
        items.removeElement(item);
        break;
  }}}
  public void emptyCart(){ items = new Vector(10); }
  public Enumeration getItems(){ return items.elements(); }
  public double computeTotal(){
    Enumeration itemEnum = getItems();
    double total = 0;
    while(itemEnum.hasMoreElements()){
      Item item = (Item)itemEnum.nextElement();
      total = total + item.getPrice();
    }
    return total;
}}


Og til sidst en JSP side, der viser varer og indkøbskurven (cds.jsp):

<HTML><HEAD><TITLE>Example of Using Session Scope</TITLE></HEAD><BODY>
<jsp:useBean id="shoppingCart"
    class="DinPakkeNavn.ShoppingCart" scope="session"/>
<%@ page import="DinPakkeNavn.Item" %>
[ Shop for CDs ]
<H1> Online CD Catalog </H1>
<TABLE>
<TR><TD BGCOLOR=AAAAAA ALIGN=CENTER>Name</TD><TD BGCOLOR=AAAAAA>SKU</TD>
    <TD BGCOLOR=AAAAAA>Decription</TD><TD BGCOLOR=AAAAAA>Price</TD>
    <TD BGCOLOR=AAAAAA>&nbsp;</TD></TR>
<% String[] names = {"Tchaikovsky","Mendelssohn","Haydn","Schumann","Bach"};
  String[] SKUs  = {"A111","2B22","33C3","444D","E555"};
  double[] prices = {12.00, 23.50, 34.00, 45.50, 56.00};
  for(int j=0; j<names.length; j++){ %>
    <TR><TD BGCOLOR=DDDDDD><%=names[j]%>  </TD>
        <TD BGCOLOR=DDDDDD><%=SKUs[j]%>  </TD>
        <TD BGCOLOR=DDDDDD>Music CD      </TD>
        <TD BGCOLOR=DDDDDD><%=prices[j]%>0</TD>
        <TD BGCOLOR=DDDDDD>
            <A HREF="cds.jsp?name=<%=names[j]%>&sku=<%=SKUs[j]%>&price=<%=prices[j]%>">
              Add</A></TD></TR>
<% } %>
</TABLE>
<A HREF=cds.jsp?name=emptyCart>Empty Shopping Cart</A>
<HR>
<H1> Content of Shopping Cart </H1>
<% String name = request.getParameter("name");
  if(name!=null){
    if(name.equals("emptyCart")){
      shoppingCart.emptyCart();
    } else if(name.equals("deleteItem")) {
      String sku = request.getParameter("sku");
      shoppingCart.deleteItem(sku);
    } else {
      String sku = request.getParameter("sku");
      double price = Double.parseDouble(request.getParameter("price"));
      Item newItem = new Item(sku, name, "Music CD", price);
      shoppingCart.addItem(newItem);
  }} %>
<TABLE>
<TR><TD BGCOLOR=AAAAAA ALIGN=CENTER>Name</TD><TD BGCOLOR=AAAAAA>SKU</TD>
    <TD BGCOLOR=AAAAAA>Decription</TD>
    <TD BGCOLOR=AAAAAA ALIGN=CENTER>Price</TD><TD BGCOLOR=AAAAAA>&nbsp;</TD>
    </TR>
<% Enumeration items = shoppingCart.getItems();
  while(items.hasMoreElements()){
    Item item = (Item)items.nextElement(); %>
    <TR><TD BGCOLOR=DDDDDD><%=item.getName()%>              </TD>
        <TD BGCOLOR=DDDDDD><%=item.getSku()%>              </TD>
        <TD BGCOLOR=DDDDDD><%=item.getDescription()%>      </TD>
        <TD BGCOLOR=DDDDDD ALIGN=RIGHT><%=item.getPrice()%>0</TD>
        <TD BGCOLOR=DDDDDD>
            <A HREF="cds.jsp?name=deleteItem&sku=<%=item.getSku()%>">
            Remove</A></TD>
<% }
  double total = shoppingCart.computeTotal(); %>
    <TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD BGCOLOR="DDDDDD">Total</TD>
    <TD BGCOLOR=DDDDDD ALIGN=RIGHT><%=shoppingCart.computeTotal()%>0
    </TD></TR>
</TABLE></BODY></HTML>
Avatar billede moller2567 Nybegynder
10. oktober 2002 - 09:42 #5
Hallo, Er der nogen ?

Kan det bruges (skal der uddeles point) eller skal du have flere løsningsforslag ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester