如何在 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 文件中使用吗?

如何在 Mongoose 中创建和使用枚举

如何在 Python 中的 Pymmsql 中创建和重新创建索引?

如何在jquery中创建和访问数组

如何在 iOS 的核心数据中创建和使用带有查询的 NSPredicate?

如何在 Protractor 中创建和操作 Promise?