如何在 Grails 2.0 中创建和检索 Cookie?
Posted
技术标签:
【中文标题】如何在 Grails 2.0 中创建和检索 Cookie?【英文标题】:How do I create and retrieve Cookies in Grails 2.0? 【发布时间】:2012-01-21 09:02:43 【问题描述】:我正在尝试使用 Grails 2 (RC3) 创建一个 cookie。我将它用于 Facebook 画布应用程序,这意味着每次浏览器刷新时,会话都会丢失。
我尝试过使用 cookies 插件,但它似乎与 Grails 2 不兼容。
任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:您可以使用<g:cookie>
标签检索 GSP 中 cookie 的值
Hello <g:cookie name="myCookie" />
你也可以在控制器中使用这个标签:
String name = g.cookie(name: 'myCookie')
您可以使用 Servlet API 设置 cookie
Cookie cookie = new Cookie("myCookie","Cookie Monster")
cookie.maxAge = 100
response.addCookie(cookie)
【讨论】:
太棒了。太感谢了。有没有办法通过名称从请求中获取 cookie,还是我必须获取 request.getCookies() 然后从那里解析它? 我找到了答案:def signedRequestCookie = request.cookies.find it.name == 'signed_request'
...再次感谢!
上面的例子展示了如何通过名称g.cookie(name: 'myCookie')
获取cookie
Cookie Javadoc:docs.oracle.com/javaee/6/api/index.html?javax/servlet/http/…,HttpServletResponse:docs.oracle.com/javaee/6/api/javax/servlet/http/…【参考方案2】:
你可以使用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')
【讨论】:
以上是关于如何在 Grails 2.0 中创建和检索 Cookie?的主要内容,如果未能解决你的问题,请参考以下文章
在一个 HTML 文件中创建和保存的 localStorage 数据可以在另一个 HTML 文件中使用吗?
如何在 Python 中的 Pymmsql 中创建和重新创建索引?