20. marts 2004 - 23:18
Der er
26 kommentarer og 1 løsning
Scope Session
Har en bønne med en Vector i som gemmer nogle informationer. Er det muligt at hente elementerne fra bønnen fra 2 forskellige sider med : JSP 1: <jsp:useBean id="Liste" class="Information.Liste" scope="session"/> JSP 2: <jsp:useBean id="Liste" class="Information.Liste" scope="session"/> eller bliver det new'et, så den sletter dataen som er gemt fra JSP 1?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
20. marts 2004 - 23:23
#1
Der bliver ikke new'et. session : samme for hele sessionen (flere sider og samme side flere gange) Der bliver kun new'et første gang.
21. marts 2004 - 07:18
#2
Har disse to JSP sider: 1 Bestil.jsp: <%@ page contentType="text/html;charset=windows-1252"%> <%@ page language="java" import="java.util.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>untitled</title> </head> <body> <jsp:useBean id="Liste" class="Information.Liste" scope="session"/> <%@ page import="Information.Info" %> <form action="Ordre.jsp"> fornavn:<input type="text" name="fornavn"><p> efternavn<input type="text" name="efternavn"/> adresse<input type="text" name="adresse"> postnummer<input type="text" name="postnummer"> email<input type="text" name="email"> <% String fornavn = request.getParameter("fornavn"); if(fornavn!=null){ String efternavn = request.getParameter("efternavn"); String adresse = request.getParameter("adresse"); int postnummer = Integer.parseInt(request.getParameter("postnummer")); String email = request.getParameter("email"); Info newInfo = new Info(fornavn, efternavn, adresse, postnummer, email); Liste.addinfo(newInfo); } %> <% Enumeration infos = Liste.getinfos(); while(infos.hasMoreElements()){ Info info = (Info)infos.nextElement(); System.out.println(info.getFornavn()); %> <TR><TD BGCOLOR=DDDDDD><%=info.getFornavn()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getEfternavn()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getAdresse()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getPostnummer()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getEmail()%> </TD> <% } %> <input type="SUBMIT" name="Læg i kurv" value="bestil"> </form> </body> </html> 2 Ordre.jsp: <%@ page contentType="text/html;charset=windows-1252"%> <%@ page language="java" import="java.util.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>untitled</title> </head> <body> <jsp:useBean id="Liste" class="Information.Liste" scope="session"/> <%@ page import="Information.Info" %> <TABLE> <% Enumeration infos = Liste.getinfos(); while(infos.hasMoreElements()){ Info info = (Info)infos.nextElement(); System.out.println(info.getFornavn()); %> <TR><TD BGCOLOR=DDDDDD><%=info.getFornavn()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getEfternavn()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getAdresse()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getPostnummer()%> </TD> <TD BGCOLOR=DDDDDD><%=info.getEmail()%> </TD> <% } %> </TABLE> </body> </html> -------------------- Men kan kun få udskrevet dataen i Bestil, virker somom while(infos.hasMoreElements()){ er tom?, men når jeg udskriver dem i bestil kommer fornavn, efternavn osv.
21. marts 2004 - 10:45
#3
Det bør som sagt virke. Min hypotese er at du mister sessionen mellem requestene. Det kan af eller bekræftes ved at ligge følgende ind i begge sider: <%=session.getId()%> og se om den er ens.
21. marts 2004 - 14:51
#4
hmm de har samme sessions nummer = bcbd2d62d05f4176a253aa1b7dd09a0e
21. marts 2004 - 15:13
#5
Og har prøvet at tilføje: int tal = 1; Info newInfo = new Info("fornavn", "efternavn", "adresse", tal, "email"); Liste.addinfo(newInfo); i Ordre.sjp, også bliver dataerne udskrevet. Virker somom jeg mister de gamle dataer...
21. marts 2004 - 15:20
#6
Hvilken server bruger du ?
21. marts 2004 - 15:21
#7
JDevelper 10g egen
21. marts 2004 - 15:27
#8
Har installeret Oracle JDeveloper 10g Preview (Version 9.0.5.0, build 1375) Skal jeg tilføje nogle updateringer? Har også haft nogle andre problemer... f.eks. angående en entitets bønne, som hentes fra en oracle server, hvor den melder fejlen: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
21. marts 2004 - 15:32
#9
Svært at sige. Kunne du poste Liste og Info klassen ? Eller ligge dem op til download ? Så kunne jeg jo prøve at køre det hos mig.
21. marts 2004 - 15:33
#10
Info.jsp package Information; import javax.swing.JPanel; public class Info extends JPanel { String fornavn, efternavn, adresse, email; int postnummer; public Info(String f, String e, String a, int p, String em) { fornavn = f; efternavn = e; adresse = a; postnummer = p; email = em; } public String getFornavn(){return fornavn;} public String getEfternavn(){return efternavn;} public String getAdresse(){return adresse;} public int getPostnummer(){return postnummer;} public String getEmail(){return email;} } Liste.jsp package Information; import java.util.*; import javax.swing.JPanel; public class Liste extends JPanel { Vector infos = new Vector(10); public void addinfo(Info i) { infos.addElement(i); } public void emptyCart() { infos = new Vector(10); } public Enumeration getinfos() { return infos.elements(); } }
21. marts 2004 - 15:52
#11
Hos mig virker det fint med Tomcat 5 efter at jeg ændrede bestil.jsp til at submitte til sig selv: <form action="bestil.jsp">
21. marts 2004 - 15:54
#12
det har jeg også prøvet, men kan du også få dataerne i Ordre.jsp? Dem som er gemt fra bestil.jsp? ... Har også selv submitte den til <form action="bestil.jsp"> og det virker fint.
21. marts 2004 - 15:57
#13
Ja. Når jeg bagefter i samme session kalder ordre.jsp, så har jeg en tabel med nogle grå felter med de indtastede værdier i.
21. marts 2004 - 15:58
#14
det er meningen at kunden skal udfylde et skema med navn, adresse osv i bestil.jsp. Og det skal så overføres til Ordre.jsp, hvor vedkommenet skal godkende det
21. marts 2004 - 16:00
#16
<a href="ordre.jsp">Se ordre og godkend</a> i bunden af bestil.jsp var en mulighed.
21. marts 2004 - 16:01
#17
OTN burde være OK. Men så vidt jeg ved betyder Preview at det er en Beta ...
21. marts 2004 - 16:01
#18
I know, men dataerne kommer ikke frem i min ordre :(
21. marts 2004 - 16:02
#19
Prøver at hente den igen... Men ellers tak for hjælpen :)
22. marts 2004 - 22:25
#20
Så er jeg her igen... Så har du hjulpet mig med at installere Tomcat 5 :) Men dette eksempel virker stadig ikke... fornavn, efternavn... osv. bliver ikke udskrevet i Ordre.jsp.... Heller ikke i tomcat
22. marts 2004 - 22:33
#21
Får du nogen fejl ?
22. marts 2004 - 22:40
#22
Kan ikke forstå hvorfor man skal lave: <a href="ordre.jsp">Se ordre og godkend</a> for at få data men fra Bestil.jsp... kan godt se det virker så. Men burde man ikke kunne lave action direkte til Ordre.jsp, hvor de bliver overført?
22. marts 2004 - 22:43
#23
GET bestil.jsp der er ikke noget udfyldt så der gemmes ikke noget fillout SUBMIT ordre.jsp ordre.jsp gemmer ikke noget kurven er tom
22. marts 2004 - 22:44
#24
GET bestil.jsp der er ikke noget udfyldt så der gemmes ikke noget fillout SUBMIT bestil.jsp der er udfyldt noget så bestil.jsp gemmer GET ordre.jsp nu er der noget ikurven
22. marts 2004 - 22:46
#25
Pointen er at: <% String fornavn = request.getParameter("fornavn"); if(fornavn!=null){ String efternavn = request.getParameter("efternavn"); String adresse = request.getParameter("adresse"); int postnummer = Integer.parseInt(request.getParameter("postnummer")); String email = request.getParameter("email"); Info newInfo = new Info(fornavn, efternavn, adresse, postnummer, email); Liste.addinfo(newInfo); } %> ikke udføres client side men server side. D.v.s. første gang vi henter så er fornavn==null, men når den submitter til sig selv, så er fornavn!=null anden gang - og så får vi gemt.
22. marts 2004 - 22:47
#26
arh ok ...
22. marts 2004 - 22:49
#27
Du er en lifesavior...
Kurser inden for grundlæggende programmering