2009-07-28 26 views
5

में HttpServletRequest तक पहुंचने के लिए मैं कस्टम InternalResourceViewResolver आधारित रिज़ॉल्वर में मूल अनुरोध के HttpServletRequest ऑब्जेक्ट तक पहुंच बनाना चाहता हूं। क्या ऐसा करने का कोई आसान तरीका है? मैं यहाँ वसंत 2.5 का उपयोग कर रहा हूँ।वसंत: एक कस्टम ViewResolver

उत्तर

12

ViewResolver इंटरफ़ेस वर्तमान अनुरोध के साथ प्रदान नहीं किया जाता है, और इसलिए इसके कार्यान्वयन भी नहीं करते हैं।

लेकिन, आप जो धागा बाध्य चर का उपयोग करता अनुरोध जैसी चीजों को स्टोर करने के RequestContextHolder से वर्तमान अनुरोध, प्राप्त करने में कठिनाई का विकल्प है, लेकिन यह काफी नहीं है:

((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); 
+0

धन्यवाद एक बहुत। यह चाल है। इस तकनीक के किसी भी दुष्प्रभाव के बारे में मुझे अवगत होना चाहिए? –

+0

प्रति साइड इफेक्ट्स नहीं, लेकिन ध्यान रखें कि संदर्भ धारक डिस्पैचर सर्वलेट द्वारा प्रारंभ किया गया है। जब तक आपके अनुरोध उस के माध्यम से गुजरते हैं, तब तक आपको तब तक ठीक होना चाहिए जब तक आप पृष्ठभूमि थ्रेडिंग के साथ सॉस चीजें नहीं करना शुरू करते। – skaffman

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