2011-06-06 111 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){}