2011-07-20 16 views
8

Chcę przechowywać niektóre dane użytkownika w pliku cookie, aby zawsze były dostępne po załadowaniu aplikacji internetowej, nawet jeśli sesja wygasła.JSF Przechowywanie danych w pliku cookie

Jaki jest najlepszy sposób to zrobić z JSF?

+0

Cookies mogą być błędne podejście tutaj. Pliki cookie służą do komunikacji między klientem a serwerem. Jeśli chcesz przechowywać po stronie klienta, powinieneś spojrzeć na DOM Storage. –

Odpowiedz

17

Zapis do pliku cookie:

FacesContext.getCurrentInstance() 
.getExternalContext() 
.addResponseCookie("CookieName", "value", null); 

przeczytaniu Cookie

Map<String, Object> requestCookieMap = FacesContext.getCurrentInstance() 
    .getExternalContext() 
    .getRequestCookieMap(); 
+4

Jeśli planujesz dodać właściwości, możesz również użyć "FacesContext.getCurrentInstance(). GetExternalContext(). GetResponse()", przesłać go do HttpServletResponse, a następnie użyć "resp.addCookie (Cookie c)". – vaxquis

+0

Używam JSF2.2 i ta odpowiedź nie działa. Jeśli miałeś ten sam problem, spróbuj tej odpowiedzi: http://stackoverflow.com/questions/20934016/how-to-add-cookie-in-jsf – Yamada

Powiązane problemy