2011-07-20 16 views
8

Quiero almacenar algunos datos de usuario en una cookie para que estén siempre allí cuando carguen la aplicación web, incluso si la sesión ha expirado.JSF Almacenamiento de datos en una cookie

¿Cuál es la mejor manera de hacer esto con JSF?

+0

cookies puede ser el enfoque equivocado aquí. Las cookies son para la comunicación del cliente al servidor. Si desea almacenamiento en el lado del cliente, tal vez debería mirar DOM Storage. –

Respuesta

17

Escribiendo a una cookie:

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

la lectura de las galletas

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

Si planea agregar propiedades, también puede usar "FacesContext.getCurrentInstance(). GetExternalContext(). GetResponse()", emitirlo a HttpServletResponse, y luego usar "resp.addCookie (Cookie c)". – vaxquis

+0

Estoy usando JSF2.2 y esta respuesta no funcionó. Si tuvo el mismo problema, intente con esta respuesta: http://stackoverflow.com/questions/20934016/how-to-add-cookie-in-jsf – Yamada

Cuestiones relacionadas