2013-04-08 5 views
5

के बीच अंतर @RequestMapping, @ActionMapping और @RenderMapping के बीच अंतर मुझे बहुत स्पष्ट नहीं हैं। ऐसा लगता है कि उपरोक्त सभी अंततः नियंत्रक में एक वास्तविक विधि के लिए एक अनुरोध url मानचित्र। तो अंतर क्या है? @Rendermapping द्वारा क्या किया जा सकता है जो @Requestmapping द्वारा नहीं किया जा सकता है?@ एक्शनमैपिंग, @ अनुरोध मैपिंग, @ रेंडरमैपिंग

उत्तर

11

@RequestMapping आपको मोड (संपादित करें, दृश्य आदि) और कई अन्य विकल्पों (हालांकि विंडो स्थिति नहीं) निर्दिष्ट करने की अनुमति देता है। @RenderMapping आपको केवल अनुरोध पैरामीटर और विंडो स्थिति (अधिकतम, सामान्य आदि) निर्दिष्ट करने की अनुमति देता है, और एक रेंडर अनुरोध मैपिंग का संकेत देने का एक सुविधाजनक तरीका है। आप एक ही कक्षा में दोनों एनोटेशन का उपयोग कर सकते हैं। उदाहरण के लिए आप क्लास लेवल पर अनुरोध मैपिंग के साथ एनोटेट कर सकते हैं यह इंगित करने के लिए कि यह दृश्य मोड के लिए अनुरोध करता है, और फिर विधि स्तर पर @RenderMapping (या @ActionMapping या @ResourceMapping) के साथ विशिष्ट अनुरोधों के लिए हैंडलर को एनोटेट करें।

अब विभिन्न प्रकार के अनुरोधों के बारे में कुछ कहना उपयोगी है।

रेंडर अनुरोध HTML का उपयोग करने के लिए उपयोग किए जाते हैं, इसलिए आमतौर पर आप एक जेएसपी या किसी अन्य प्रकार के दृश्य प्रदर्शित करेंगे।

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

वहाँ अनुरोध है जो आप जो ब्याज की भी है

संसाधन अनुरोध अन्य सामग्री प्रकार प्रस्तुत करना करने के लिए इस्तेमाल किया जा सकता है का उल्लेख नहीं है की एक अन्य प्रकार है। AJAX संसाधन अनुरोधों के लिए एक सामान्य उपयोग केस है क्योंकि वे उदाहरण के लिए JSON या XML लौटने के लिए उपयुक्त हैं।

इवेंट अनुरोध भी मौजूद हैं और इंटर-पोर्टलेट संचार के लिए उपयोग किए जा सकते हैं।

मैं Spring portlet docs की सिफारिश कर सकता हूं। यद्यपि वे एनोटेशन अच्छी तरह से कवर नहीं करते हैं, वे विभिन्न अनुरोध प्रकारों की व्याख्या करते हैं और आप एनोटेशन को काम करने के लिए उस जानकारी का उपयोग करने में सक्षम होना चाहिए।

एनबी। यदि आप चाहें तो रेंडर, एक्शन और रिसोर्स अनुरोधों को परिभाषित करने के लिए @RequestMapping का उपयोग कर सकते हैं, लेकिन @RenderMapping, @ActionMapping या @ResourceMapping ऐसा करने के अधिक सुविधाजनक तरीके प्रदान करते हैं।

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