Grails 2.1.1
在我的控制器中:
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管理中看到它。
答案 0 :(得分:2)
我也遇到了问题,它来自控制器中方法末尾的重定向。
当我使用它时,我丢失了我设置的所有cookie,但没有丢失JSESSIONID。
谷歌搜索后,我找到了这些帮助(http://www.zugiart.com/2011/04/http-redirect-and-cookies/)。
定义Cookie时,请将路径设置为“/”:cookie.path ='/'。
现在,您也可以重定向。
答案 1 :(得分:0)
我认为在下一次http调用之前,cookie方法“cookie()”无法使用cookie。为什么不简单地使用模型var?
将cookie值从控制器传递给gsp