2011-12-15 11 views
17

Próbuję utworzyć plik cookie za pomocą Grails 2 (RC3). Używam tego do aplikacji na płótnie na Facebooku, co oznacza, że ​​przy każdym odświeżeniu przeglądarki sesja jest tracona.Jak utworzyć i pobrać pliki cookie w Grails 2.0?

Próbowałem za pomocą wtyczki ciasteczka, ale wydaje się, że to nie jest kompatybilny z Grails 2.

Każda pomoc będzie bardzo mile widziane!

Odpowiedz

31

można odzyskać wartość cookie w GSP za pomocą znacznika <g:cookie>

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

Można również użyć tego znacznika z kontrolera:

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

Można ustawić ciasteczko za pomocą Servlet API

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

Awesome. Dziękuję bardzo. Czy istnieje sposób na pobranie pliku cookie z żądania po nazwie lub czy muszę pobrać request.getCookies(), a następnie przeanalizować go stamtąd? – cavneb

+5

Znalazłem odpowiedź na to: 'def signedRequestCookie = request.cookies.find {it.name == 'signed_request'}' ... Jeszcze raz dziękuję! – cavneb

+1

Powyższy przykład pokazuje, jak uzyskać ciasteczko o nazwie 'g.cookie (name: 'myCookie')' –

3

można użyć 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') 
Powiązane problemy