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.
Annonceindlæg fra Bluecircle
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")); %>
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")); %>
25. april 2003 - 21:01
#3
De gange du skriver kurv, er det bare et navn eller skal jeg erstatte det med noget?
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)
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
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.
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?
25. april 2003 - 21:11
#8
ok
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".
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.
25. april 2003 - 21:26
#11
Og hvordan kunne denne se ud?
25. april 2003 - 21:29
#12
Mener du klassen vare ?
25. april 2003 - 21:30
#13
Ja, den toString
25. april 2003 - 21:36
#14
Stay tuned.
25. april 2003 - 21:36
#15
k
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"); } }
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.
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.
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 ?
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 :)
25. april 2003 - 22:21
#21
Det er helt OK. Men jeg må hellere forklare lidt så. :-)
25. april 2003 - 22:24
#22
Ja tak :)
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.
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...?
25. april 2003 - 22:34
#25
25. april 2003 - 22:36
#26
Ok, jeg vender tilbage når jeg har mere styr på det grundlæggende... Tak indtil nu.
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)
Kurser inden for grundlæggende programmering