2014-03-25 40 views
3

我正嘗試讀取播放框架模板(不在控制器內)的cookie值。我正在嘗試以下不工作:在播放framewrok 2.2 scala模板時讀取cookie值

@ val cookieVal = request.cookies.get('PLAY_SESSION').value 

任何建議,以解決此問題將不勝感激。我試圖這樣做的原因是改變頁面基於cookie值呈現的方式。

回答

3

在模板中定義val S作爲如下:

@defining(request.cookies.get('PLAY_SESSION').value) { theValue => 
    <div>Hello @theValue</div> 
} 

我個人更喜歡閱讀控制器的餅乾,並根據需要將它們傳遞到模板。

+0

輕鬆搞定的模板值很快就會試圖恢復 - 可能在兩方面(通過值模板,而不是閱讀的cookie模板) - 感謝 –

+0

只是出於好奇:' request'在模板中沒有被默認定義,對吧?如果是,你是否有鏈接到相應的源代碼準備好了? – Carsten

1

假設PLAY_SESSION存儲爲"37f0983881ba00636868b42234a360d466fb944c-block_status=0&userId=159313257462171"
並且您必須根據block_status的值進行呈現。 那麼在這種情況下,你可以通過

session.get("block_status").get 

獲得其值設置爲使用它的模板,你必須在你的模板導入@implicit session:play.api.mvc.Session
現在你可以通過@session.get("block_status").get

1
request.cookies.get("Org").get.value 
+1

請考慮添加一個簡短的解釋,以幫助用戶理解您的答案。謝謝! – GibboK