2012-10-27 109 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)並嘗試刷新頁面? –