2012-10-27 152 views
0

的Grails 2.1.1饼干检索在GSP不工作

在我的控制器:

def someAction() { 
    def projectVersionInstance = ProjectVersion.get(params.id) 
    Cookie cookie = new Cookie("lastProjectVersion","${projectVersionInstance.id}") 
    response.addCookie(cookie) 
    ..... 
} 

在我GSP:

<g:if test="${cookie(name: 'lastProjectVersion')}"> 
    .... 
</g:if> 

g:if标签里面的内容没有显示出来。我甚至只是尝试了以下内容:

<g:cookie name="lastProjectVersion" /> 

而我什么也没得到。我可以在控制器中显示它,并且可以在浏览器cookie管理中看到它。

回答

2

我也有问题,它来自控制器中方法结尾的重定向。

当我使用它时,我丢失了我设置的所有cookie,但不是JSESSIONID。

谷歌搜索后,我发现这些帮助(http://www.zugiart.com/2011/04/http-redirect-and-cookies/)。

定义cookie时,请将路径设置为'/':cookie.path ='/'。

现在,你也可以重定向。

+0

谢谢,我会研究这个! – Gregg

0

我认为cookie不可用于cookie方法“cookie()”,直到下一次http调用。为什么不简单地通过模型var将cookie值从控制器传递给gsp?

+0

根据taglib,即使我知道它在那里,无论多少次刷新页面,cookie都不可用。 – Gregg

+0

如果您评论//response.addCookie(cookie)并尝试刷新页面? –