2011-06-06 107 views
12

如何在Scala中的Play-Framework中讀取控制器中cookie的值?如何在Scala中讀取Play-Framework中的Cookie值?

在我的控制器我有這樣的:

println(Http.Request.current().headers.get("cookie")) 

和輸出是這樣的:

[csrftoken=011d7cfe84915ee9897c8c6079d49d5a; test=value] 

,我希望在訪問的「測試」價值的更好的方法等比解析字符串..;)

回答

15

您可以使用HTTP請求上的cookie對象訪問cookie,而不是從標頭以原始格式獲取該對象。有關更多信息,請參閱API here

你應該能夠只是做:

Http.Request.current().cookies.get("test")

+2

這是不同的,以'request.cookies.get( 「測試」 )'還是同樣的事情?其幾乎相同的是 – Jonas 2011-06-06 14:48:32

+3

。除了,如果你沒有訪問請求對象,你可以通過使用'Http.Request.current()'得到它。 OP沒有指定他可以訪問請求對象,所以繼續使用他使用的相同語法更安全。 – Codemwnci 2011-06-06 15:55:09

+3

在Play + Scala中,我不認爲我的默認範圍內有請求對象。 @ Codemwnci的答案很好;謝謝! – 2011-06-06 16:15:09

1

您可以在Scala中使用模板 @ request.cookies.get( 「電子郵件」)值獲取cookie的值。

如果要檢查其不爲空, @if(request.cookies.get( 「電子郵件」)!= NULL){}