2009-07-26 15 views
24

मैं वाडिन फ्रेमवर्क के साथ स्प्रिंग एमवीसी का उपयोग करने की संभावना के बारे में सोच रहा हूं। क्या उन्हें अच्छी तरह से एक साथ खेलने के लिए कोई दस्तावेज तरीके हैं? क्या उन्हें एक साथ उपयोग करना भी एक अच्छा विचार है? प्रदर्शन से संबंधित; मैं एक समर्पित सर्वर पर ऐप चलाने जा रहा हूं।वाडिन और स्प्रिंग एमवीसी एकीकरण

मेरा प्रश्न थोड़ा और स्पष्ट करने के लिए, मैं स्प्रिंग एमवीसी कंट्रोलर से मॉडलैंडव्यू कैसे वापस कर सकता हूं जो वाडिन का उपयोग करके प्रस्तुत करेगा और सभी मॉडल डेटा तक पहुंच सकता है।

उत्तर

20

वाडिन के लिए वसंत समर्थन काफी नया है, लेकिन हाल ही में मंच पर इसके बारे में बहुत सी बात हुई है और कुछ ने इसका परीक्षण किया है। काम करने लगता है। इसके बारे में Vaadin विकि पर एक लेख है, और मंच पर कुछ धागे Vaadin + वसंत एकीकरण के बारे में बात:

Wiki: Spring Integration
Forum: can it mill toolkit be integrated with spring application
Forum: Spring integration problem
Forum: Working with Spring
Forum: Spring Integration

+1

मैं बहुत पूर्ण वसंत आवेदन का संदर्भ दूंगा: http://dev.vaadin.com/svn/incubator/SpringApplication/ – rochb

+3

मैं स्प्रिंग एमवीसी के साथ वाडिन एकीकरण की भी तलाश कर रहा था। आपके द्वारा दिया गया उत्तर वसंत (निर्भरता इंजेक्शन इत्यादि) के साथ एकीकरण है। मुझे इनमें से कोई भी दिखाई नहीं देता ... धन्यवाद –

+0

मैं यह भी जोड़ूंगा: http://dev.vaadin.com/ticket/4132 और http://vaadin.com/forum/-/message_boards/message/112083 लेकिन यह मूल रूप से उसी –

2

पर this thread देखें नमूना युद्ध आवेदन सहित मेरे AutowiringApplicationServlet समाधान के लिए वैडिन मंच।

+1

स्प्रिंग स्टफ एड-ऑन के रूप में अब एक और विकसित समाधान उपलब्ध है: https://vaadin.com/directory#addon/spring-stuff – Archie

5

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

1

dhrbo के साथ सहमत हुए।

वसंत एमवीसी का उपयोग करने के लिए बुद्धिमान नहीं है, और अधिक वैदिन के साथ वेबफ्लो के साथ। वाडिन एक और वेब-ऐप ढांचा है।

यदि आप अपने वाडिन प्रोजेक्ट में "वसंत एमवीसी" का विचार चाहते हैं, तो इसे वसंत-कोर, सेम और संदर्भ के साथ एकीकृत करें। इस तरह आप नियंत्रकों, ui (vaadin), और मॉडल (हाइबरनेट/orms के साथ एकीकृत)

1

वाडिन के साथ स्प्रिंग सेवा परत को एकीकृत करने पर एक लेख यहां प्राप्त कर सकते हैं। यह सीधे स्प्रिंग एमवीसी से संबंधित नहीं है कि मूल प्रश्न था, लेकिन यह अभी भी वाडिन स्प्रिंग एकीकरण के शोध के अन्य पाठकों के लिए एक सूचक हो सकता है।

http://psponcoding.blogspot.com/2011/03/vaadin-spring-integration.html

0

org.springframework.web.servlet.mvc.Controller के handleRequest एक HttpServletRequest और HttpServletResponse पैरामीटर के रूप में लेता है। इनमें से, आप यूआरआई टुकड़े को संसाधित नहीं कर सकते हैं। इस प्रकार, नियंत्रक यूआरआई टुकड़े के आधार पर अनुरोधों को नियंत्रित करने के लिए उपयुक्त नहीं है।

मेरे आवेदन में, मैंने वसंत नियंत्रक को बहुत ही समान अवधारणा लागू की। मेरे आवेदन में अभी भी "विचार" और "मॉडल" की धारणा है। प्रत्येक दृश्य एक अलग वर्ग में लागू किया जाता है और पृष्ठ के केंद्रीय ब्लॉक में प्रदर्शित होता है। मुझे लगता है कि वर्ग के लिए यूआरएल प्रसंस्करण के तर्क को केंद्रीकृत करना चाहता था, तो मैं एक वर्ग AbstractControllerEntry बनाया: इस तरह के ConstantEntry, PrefixEntry और RegexEntry के रूप में कई सुविधा उपवर्गों साथ

public static abstract class AbstractControllerEntry { 
    public abstract boolean matches(String fragment); 
    public abstract void open(MainWindow window, String fragment); 
} 

प्रत्येक व्यू क्लास में एक स्थिर विधि है, जो AbstractControllerEntry देता है।सभी प्रविष्टियों का संग्रह MyController कक्षा (स्प्रिंग एमवीसी नियंत्रक नहीं) के अंदर एक स्थिर सरणी में रखा जाता है। खंड परिवर्तन पर (UriFragmentUtility देखें), मैं सभी प्रविष्टियों को पुन: सक्रिय करता हूं, और पहले, जो मेल खाता है, मैं खुले कॉल करूंगा। कोई अन्य तर्क, जैसे मॉडल ऑब्जेक्ट ढूंढना, दृश्य वर्ग के अंदर है, AbstractControllerEntry इम्प्मेंटेशन में।

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

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