Wie zu erstellen, darauf zuzugreifen und zu zerstören Sitzung in JSF managed bean?
Derzeit, ich bin erstellen einer web-Applikation für ein online-Warenkorb und ich brauche die Erhaltung Sitzung auf jeder jsf-Seite..
Meine Fragen sind :
-
Wie kann ich die erstellen und zerstören Sitzung in der managed bean
-
Wie kann ich Zugriff auf gespeicherte Wert in session-variable? Wie das?
FacesContext.getCurrentInstance().getExternalContext().getSessionMap.put("key",object);
-
Wie kann ich das zerstören einer session in jsf
Brauche ich auch, um zu zerstören der session mit session.invalidate()
aber ich bin gescheitert !!
- Welche Art von Fehlermeldung bekommst du?
- Was meinst du zu Fragen, wie acess der Wert in der session gespeicherten Karte? Sie erkennen die Methode, die
getSessionMap()
gibt eine Karte und nachdem Sieput("key", object)
können Sieget("key")
das Objekt, richtig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht, um Sie selbst erstellen. Der servletcontainer wird dies automatisch für Sie auf Nachfrage. In anderen Worten, wenn Sie (oder JSF) benötigen, um ein Objekt in der session-scope, dann ist der servletcontainer automatisch die Sitzung. In einer JSF-web-Anwendung, das passiert, wenn Sie
@SessionScoped
oder@ViewScoped
verwaltet beanfor das erste mal.ExternalContext#getSession()
vorbeitrue
für die erste Zeit.ExternalContext#getSessionMap()
für die erste Zeit.<h:form>
zum ersten mal während der Staat spart-Methode ist "server".Können Sie zerstören Sie die Sitzung, indem
ExternalContext#invalidateSession()
. E. g.Merken senden eine Umleitung danach, weil die session-Objekte sind noch erhältlich in der Antwort von der aktuellen Anfrage, aber nicht mehr bei der nächsten Anfrage.
Machen es gerade eine Eigenschaft eines
@SessionScoped
managed bean. Alternativ können Sie auch manuell bedienenExternalContext#getSessionMap()
ja.Dies ist bereits beantwortet, die erste Frage.
Siehe auch: