2011-06-06 6 views
12

स्कैला के साथ प्ले-फ्रेमवर्क में मेरे नियंत्रक में कुकी के मूल्य को मैं कैसे पढ़ सकता हूं?स्कैला के साथ प्ले-फ्रेमवर्क में कुकी के मूल्य को मैं कैसे पढ़ूं?

मेरी नियंत्रक में मैं इस है:

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

और उत्पादन यह है:

[csrftoken=011d7cfe84915ee9897c8c6079d49d5a; test=value] 

और मैं आशा करती हूं कि "परीक्षण" का मान तक पहुँचने का एक बेहतर तरीका अन्य नहीं है स्ट्रिंग को पार्स करने से .. ..)

उत्तर

15

आप हेडर से कच्चे प्रारूप में प्राप्त करने के बजाय HTTP अनुरोध पर cookie ऑब्जेक्ट का उपयोग करके कुकी तक पहुंच सकते हैं। अधिक जानकारी के लिए एपीआई here देखें।

आप में सक्षम होना चाहिए बस करना है:।

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

+2

'request.cookies.get (" परीक्षण "को यह अलग है) 'या यह वही बात है? – Jonas

+3

इसके लगभग समान है। सिवाय, अगर आपके पास अनुरोध ऑब्जेक्ट तक पहुंच नहीं है, तो आप इसे 'Http.Request.current() 'का उपयोग करके प्राप्त कर सकते हैं। ओपी ने यह निर्दिष्ट नहीं किया कि उसके पास अनुरोध ऑब्जेक्ट तक पहुंच थी, इसलिए वह उसी वाक्यविन्यास के साथ जारी रखना सुरक्षित था। – Codemwnci

+3

प्ले + स्कैला में मुझे नहीं लगता कि मेरे पास डिफॉल्ट रूप से एक अनुरोध ऑब्जेक्ट है। @ कोडेमवेन्सी का जवाब बहुत अच्छा काम करता है; धन्यवाद! –

1

आप @ request.cookies.get का उपयोग कर ("ईमेल") मूल्य स्केला टेम्पलेट में कुकी मूल्य मिल सकता है।

आप अपने रिक्त नहीं, @if जाँच करना चाहते हैं (request.cookies.get ("ईमेल")! = नल) {}

संबंधित मुद्दे