Avatar billede cow-tilter Nybegynder
25. april 2003 - 20:51 Der er 27 kommentarer og
1 løsning

Indkøbskurv

Jeg ønsker at lave en kurv på en jsp side. Jeg har fået lidt hjælp til af hive en session id ud af siden, men jeg er lidt i tvivl om hvordan jeg får kurven til at virke.

Jeg har en række produkter som er hentet fra en tabel. Trykker man på bestil skal varen smides over i kurven, og blive der.
Avatar billede arne_v Ekspert
25. april 2003 - 20:59 #1
Hvis vi nu antager at du bare gemmer varerne i en ArrayList.

Så kan du gemme med noget a la:

<%
ArrayList kurv = session.getAttribute("kurv");
if(kurv==NULL) {
    kurv = new ArrayList();
    session.setAttribute("kurv", kurv);
}
kurv.add(new Vare(request.getParameter("varenavn"), request.getParameter("antal"));
%>
Avatar billede arne_v Ekspert
25. april 2003 - 21:00 #2
Skal nok være:

<%
ArrayList kurv = (ArrayList)session.getAttribute("kurv");
if(kurv==NULL) {
    kurv = new ArrayList();
    session.setAttribute("kurv", kurv);
}
kurv.add(new Vare(request.getParameter("varenavn"), request.getParameter("antal"));
%>
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:01 #3
De gange du skriver kurv, er det bare et navn eller skal jeg erstatte det med noget?
Avatar billede arne_v Ekspert
25. april 2003 - 21:04 #4
Og for at udskrive alle varerne:

<TABLE BORDER>
<%
ArrayList kurv = (ArrayList)session.getAttribute("kurv");
if(kurv==NULL) {
    kurv = new ArrayList();
    session.setAttribute("kurv", kurv);
}
for(int i = 0; i < kurv.size(); i++) {
%>
<TR>
<TD><%=i%></TD>
<TD><%=(Vare)kurv.get(i)%></TD>
</TR>
<%
}
%>
</TABLE>

(forudsætter at Vare har en fornuftig toString)
Avatar billede arne_v Ekspert
25. april 2003 - 21:05 #5
kurv er bare en variabel af typen ArrayList

"kurv" er det navn som vi (originalt nok) gemmer kurv under i sessionen
Avatar billede arne_v Ekspert
25. april 2003 - 21:06 #6
Bemærk at dette her kan gøre spå mange måder. Dette her er kun en af
dem.
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:07 #7
Hvis jeg har side0 og side1, hvor side1 er kurven, hvilken skal jeg så placere disse på?
Hvad er en fornuftig toString?
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:11 #8
ok
Avatar billede arne_v Ekspert
25. april 2003 - 21:14 #9
Din kurv er ikke en side.

Din kurv er noget du gemmer mellem sider.

Du har en side der viser varer hvor man lave "Tilføj til kurv"

Du har en side der viser kurv hvor man kan lave "Køb kurv".
Avatar billede arne_v Ekspert
25. april 2003 - 21:15 #10
I mit eksempel har en en klasse Vare der indeholder navn på varen og antal.

Og jeg printer den bare direkte ud.

Så skal den klase have en toString metode der skriver navn og natal ud
fornuftigt.
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:26 #11
Og hvordan kunne denne se ud?
Avatar billede arne_v Ekspert
25. april 2003 - 21:29 #12
Mener du klassen vare ?
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:30 #13
Ja, den toString
Avatar billede arne_v Ekspert
25. april 2003 - 21:36 #14
Stay tuned.
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:36 #15
k
Avatar billede arne_v Ekspert
25. april 2003 - 21:42 #16
Måske noget a la den her:

public class Vare {
    private String name;
    private int quantity;
    public Vare() {
        this.name = "";
        this.quantity = 0;
    }
    public Vare(String name) {
        this.name = name;
        this.quantity = 0;
    }
    public Vare(String name, String quantity) {
        this.name = name;
        this.quantity = Integer.parseInt(quantity);
    }
    public Vare(String name, int quantity) {
        this.name = name;
        this.quantity = quantity;
    }
    public String getName() {
        return name;
    }
    public int getQuantity() {
        return quantity;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }
    public String toString() {
        return (name + " : " + quantity + " pieces");
    }
}
Avatar billede arne_v Ekspert
25. april 2003 - 21:45 #17
Jeg har sat lidt rigeligt med metoder på, fordi de kan være
ganske rare at have i forskellige sammenhænge.
Avatar billede cow-tilter Nybegynder
25. april 2003 - 21:49 #18
Skal den sættes som en declaration? Altså i tegnene <%! %>?
Når jeg gør det får jeg lige knap så mange fejl.
Avatar billede arne_v Ekspert
25. april 2003 - 21:52 #19
Øh.

Det er en separat Java klasse.

Har du ikke brugt Java klasser før i din JSP applikationer ?
Avatar billede cow-tilter Nybegynder
25. april 2003 - 22:19 #20
hmm, det tror jeg ikke... Jeg har en side som jeg har fået og så bygger videre på. Det er selvfølgelig også lidt dumt når man ikke ved hvad det hele betyder... Det er første gang jeg prøver det her, så der er nok nogle ting jeg ikke forstår i første omgang :)
Avatar billede arne_v Ekspert
25. april 2003 - 22:21 #21
Det er helt OK.

Men jeg må hellere forklare lidt så.

:-)
Avatar billede cow-tilter Nybegynder
25. april 2003 - 22:24 #22
Ja tak :)
Avatar billede arne_v Ekspert
25. april 2003 - 22:28 #23
JSP minder måske nok meget om ASP og PHP, men det er også en
del af Java familien.

Teknisk set bliver en JSP side compilet til en servlet (som er Java
kode) som så igen bliver compilet til en binær class fil.

Det er mulogt og endda meget almindeligt at skrive hjælpe-klasser
i Java som man så kan bruge i sine JSP sider.

De klasser skriver man så i en editor eller i en IDE og compiler
selv.

Og når de oversatte filer (class filer) bliver lagt på det rigtige
sted på JSP/servlet containeren, så kan JSP siden bruge dem.
Avatar billede cow-tilter Nybegynder
25. april 2003 - 22:31 #24
Ahh ok, jeg er stødt på de class-filer før, har bare ikke forstået sammenhængen... Jeg har et program der hedder jedit, som (tror jeg) kan lave dem...?
Avatar billede cow-tilter Nybegynder
25. april 2003 - 22:36 #26
Ok, jeg vender tilbage når jeg har mere styr på det grundlæggende...
Tak indtil nu.
Avatar billede arne_v Ekspert
25. april 2003 - 22:36 #27
Du kan lave Java programmer i en hvilket som helst editor.

JEdit er en glimrende editor (bruger den selv en del - ikke så meget
til Java men tilmange andre ting).

Så skal du også have en compiler, men det formoder jeg at du har.

(ellers vil din JSP/servlet container næppe starte op)
Avatar billede arne_v Ekspert
25. april 2003 - 22:43 #28
Ovenstående links er gode.

Der er også skrevet mange gode bøger om JSP og servlets.

En enkelt er sågar tilgængelig på nettet i PDF format.

Se:
  http://pdf.coreservlets.com/Core-Servlets-and-JSP.pdf
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