0

グレイル 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 管理で確認できます。

4

2 に答える 2

2

私も問題を抱えていましたが、それはコントローラーのメソッドの最後にあるリダイレクトから来ています。

使用すると、設定したすべての Cookie が失われましたが、JSESSIONID のものは失われませんでした。

グーグルで調べたところ、これらのヘルプが見つかりました (http://www.zugiart.com/2011/04/http-redirect-and-cookies/)。

Cookie を定義するときは、パスを '/' に設定します: cookie.path = '/'。

これで、リダイレクトもできます。

于 2012-11-06T22:29:42.183 に答える
0

次の http 呼び出しまで、Cookie メソッド「cookie()」で Cookie を使用できないと思います。モデル var を使用して、コントローラーから gsp に Cookie の値を単純に渡してみませんか?

于 2012-10-29T08:20:39.870 に答える