2011-12-15 13 views
17

Estoy tratando de crear una cookie usando Grails 2 (RC3). Estoy usando esto para una aplicación de Facebook, lo que significa que en cada actualización del navegador, la sesión se pierde.¿Cómo creo y recupero cookies en Grails 2.0?

He intentado usar el plugin galletas, pero parece que no es compatible con Grails 2.

Cualquier ayuda sería muy apreciada!

Respuesta

31

Puede recuperar el valor de una cookie en un SGP usando la etiqueta <g:cookie>

Hello <g:cookie name="myCookie" /> 

También puede utilizar esta etiqueta de un controlador:

String name = g.cookie(name: 'myCookie') 

Puede configurar una cookie mediante el API servlet

Cookie cookie = new Cookie("myCookie","Cookie Monster") 
cookie.maxAge = 100 
response.addCookie(cookie) 
+0

Impresionante. Muchas gracias. ¿Hay alguna manera de obtener una cookie de la solicitud por nombre o tengo que obtener la request.getCookies() y luego analizarla desde allí? – cavneb

+5

Encontré la respuesta a esto: 'def signedRequestCookie = request.cookies.find {it.name == 'signed_request'}' ... ¡Gracias de nuevo! – cavneb

+1

El ejemplo anterior muestra cómo obtener una cookie con el nombre 'g.cookie (name: 'myCookie')' –

3

puede utilizar Cookie Plugin:

// Inject service 
def cookieService 
... 
// This sets a cookie with the name `username` to the value `admin`  with a expiration set to a week, defined in seconds 
cookieService.setCookie('username', 'admin', 7 * 24 * 60) 
cookieService.getCookie('username') // returns 'admin' 
cookieService.deleteCookie('username')