2010-03-04 19 views
5

यहाँ scenerio है: हम एक आवेदन Webphere पोर्टल सर्वर 6.1 और स्प्रिंग MVC पर चल रहे हैं। एक पोर्टल वाला एक पृष्ठ है जो रिकॉर्ड से भरा ग्रिड दिखाता है। एक बार उन रिकॉर्ड्स में से एक क्लिक हो जाने पर, इसे किसी अन्य पोर्टल पर एक अन्य पोर्टलेट पर जाना चाहिए - संभवतः एक ही पोर्टल सर्वर पर एक अलग पोर्टलेट एप्लिकेशन - और उस विशिष्ट रिकॉर्ड को प्रदर्शित करें। मैं पढ़ा है कि, के उपयोग के माध्यम पोर्टल 2.0 के "सार्वजनिक प्रस्तुत पैरामीटर", आप portlets के बीच डेटा साझा कर सकते हैं - और कि मेरी समस्याओं का सबसे हल करना चाहिए:पैरामीटर के साथ Portlet पृष्ठ नेविगेशन वसंत MVC, WebSphere पोर्टल, और JSR 286

यहाँ सवाल है। परेशानी यह है कि, मुझे यह नहीं पता कि स्प्रिंग एमवीसी का उपयोग करते समय यह कैसे काम करता है। मुझे वसंत एमवीसी तकनीकी दस्तावेज में "सार्वजनिक रेंडर पैरामीटर" का संदर्भ नहीं मिल रहा है, फिर भी कुछ लोगों ने कहा है कि वे इसे काम कर रहे हैं। क्या कोई मुझे विशेष रूप से दिखा सकता है जहां पर विस्तृत दस्तावेज है, या मुझे एक उदाहरण का छोटा कोड स्निपिट दें जो दिखाता है कि मैं अपने नियंत्रक वर्गों में इन सार्वजनिक रेंडर पैरामीटर का उपयोग कैसे कर सकता हूं? इसके अलावा, अगर मेरे पर्यावरण में इसे हासिल करने का एक बेहतर तरीका है, तो यह क्या है और मुझे एक उदाहरण कहां मिल सकता है? कृपया उत्तर न दें, "यदि आपको ऐसा करने की आवश्यकता है, तो आपको पोर्टल" या "का उपयोग नहीं करना चाहिए यदि आप इसके बजाय XYZ तकनीक का उपयोग करते हैं, तो आप यह और" कर सकते हैं। मैं पर्यावरण को बदल नहीं सकता - यह वही है - मुझे बस इसे काम करने की ज़रूरत है! :) धन्यवाद!

उत्तर

3

आप सार्वजनिक रेंडर पैरामीटर का उपयोग उसी तरह कर सकते हैं जैसे आप अपने रेंडर पैरामीटर का उपयोग करते हैं। आपको बस उन्हें अपने portlet.xml में घोषित करना होगा। बस जागरूक रहें कि आपको सार्वजनिक रेंडर पैरामीटर रखने की अनुमति नहीं है कि का नाम "निजी" रेंडर पैरामीटर के समान है।

<public-render-parameter> 
     <identifier>myParam</identifier> 
     <qname xmlns:x="http://sun.com/params">x:myParam</qname> 
</public-render-parameter> 

और अपने portlet वर्णनकर्ता में निम्नलिखित पंक्ति जोड़:

<portlet> 
     . . . 
    <supported-public-render-parameter>myParam</supported-public-render-parameter> 
</portlet> 

तो फिर तुम नियमित getRenderParameter कॉल का उपयोग कर सकते

आप केवल अपने portlet.xml को कुछ इस तरह जोड़ने की जरूरत सभी पोर्टलों में "myParam" के लिए जिनके पास इस पोर्टल डिस्क्रिप्टर में यह प्रविष्टि है।

अधिक जानकारी के लिए: http://blogs.oracle.com/deepakg/entry/jsr286_public_render_parameter_feature

+0

हाँ - मुझे लगता है कि यह काम करेगा। मेरा भ्रम नियंत्रकों के लिए एनोटेशन आधारित मॉडल के साथ आया था, क्योंकि आप कक्षा से उत्तराधिकारी नहीं हैं या एक इंटरफ़ेस लागू नहीं करते हैं। अपने उदाहरण के साथ संयोजन में कुछ और उदाहरण देखने के बाद, मैं समझता हूं। एक अनुभवहीन पोर्टल डेवलपर की मदद के लिए फिर से धन्यवाद! भारी लेनदेन वाले एसओए आधारित पोर्टल एप्लिकेशन में लगभग 16 जावा ढांचे का उपयोग कर रहे हैं। एक .net पृष्ठभूमि से आने में बहुत कुछ है! –