2012-01-26 14 views
6

किसी को क्या एक portlet "JSR-286 अनुरूप" बनाम जा रहा है केवल "JSR-168 अनुरूप" बनाता का एक संक्षिप्त सारांश का लिंक है। मुझे कल्पना की एक प्रति मिली है और यह कुछ भी संक्षिप्त है लेकिन कल्पना को जोड़ने से उपयोगी जवाब नहीं है। मैं एक घंटे के लिए वेब अब खोज की है और मैं कुछ भी नहीं है कि कल्पना है, जो निश्चित रूप से आवश्यक है कि आप पिछले कल्पना भी पढ़ा है, और फिर "नई सुविधाओं" उखाड़ फेंकने से "आवश्यक से अलग स्पष्ट (है मिल गया है अनुपालन "।क्या पोर्टलेट जेएसआर -286 अनुपालन करता है?

विशेष रूप से मैंने पाया वहाँ काफी web.xml की आवश्यकता है, जो Liferay उपयोग करने वाले लोगों से आते हैं और साकार नहीं कि Liferay के लिए एक web.xml में गिरती है प्रतीत होता है पर वहाँ बाहर भ्रम का सा है कि ।

: उन्हें

Do JSR-286 portlets require a web.xml file in their WAR files?

मैं क्या वास्तव में चाहते हैं कुछ है कि एक या अधिक निम्न सूची का होता है

  • चीजें आप एक JSR-168 के लिए क्या करना है यह बन JSR-286 अनुरूप
  • चीजें आप नहीं करना चाहिए, कि कारण होगा एक अन्यथा JSR-286 अनुरूप portlet केवल JSR-168 पर विचार किया जाएगा बनाने के लिए।

आप सूची से "पोर्टलेट-app_2_0.xsd का उपयोग" छोड़ सकते हैं, क्योंकि मैं उस भाग को स्पष्ट मानता हूं।

मैं जवाब के लिए खुला हूं कि दोनों सूचियां portlet.xml के लिए डीटीडी/एक्सएसडी से अलग हैं, और अंतर केवल पोर्टल का समर्थन करता है, लेकिन कृपया उस लिंक या अन्य संदर्भ के साथ उस दावे को वापस करें ।

कारण मुझे देखभाल है कि मैं लिफ़ेरे में वाडिन पोर्टल के बारे में पोस्ट देखता हूं जो दर्शाता है कि कुछ विशेषताएं जेएसआर -16 8 पोर्टलों के लिए उपलब्ध नहीं हैं ... यह भी हो सकता है कि लिफ़ेरे में कुछ तर्क पोर्टलेट के किस संस्करण के आधार पर स्विच हो। यह देखता है कि एक्सएमएल, लेकिन मैंने पुष्टि नहीं की है कि या तो यह दिलचस्प जानकारी भी होगी, लेकिन मेरे प्रश्न का उत्तर नहीं।

+0

नीचे दी गई मेरी टिप्पणी में लिंक किए गए फ़ोरम पोस्ट को दोबारा पढ़ना, मुझे एहसास हुआ है कि हालांकि पोस्टर "अनुपालन पोर्टल" के बारे में बात कर रहा है, लेकिन वह एप्लिकेशनपोर्ट 2 में मतभेदों का श्रेय दे रहा है। मैंने पहले ही इसे बढ़ा दिया है, इसलिए मुझे लगता है कि मुझे वह लाभ मिलते हैं जो वह बोलता है। हालांकि, मैं अभी भी सोच रहा हूं कि "जेएसआर 286 अनुपालन पोर्टल" वाक्यांश के नीचे कोई अर्थ है (नीचे उल्लिखित पिछली असंगतताओं से अलग)। – Gus

उत्तर

3

this doc के अनुसार, लेकिन यह भी jsr286 में उल्लेख किया गया है:

JSR 286 कल्पना (Portlet 2.0) JSR168 (Portlet 1.0) के साथ दोहरी संगतता नष्ट नहीं होती है। इसका मतलब है कि पोर्टलेट 1.0 विनिर्देश के खिलाफ लिखे गए सभी पोर्टल अपरिवर्तित चल सकते हैं। इस नियम का एकमात्र अपवाद हैं:

renderResponse.setContentType नहीं रह गया है getWriter या getOutputstream कॉल करने से पहले आवश्यक है। जेएसआर 168 में, सामग्री प्रकार को पहले सेट किए बिना getWriter या getOutputstream को कॉल करने के परिणामस्वरूप IllegalStateException में परिणाम हुआ।

getProtocol शामिल सर्वलेट्स के लिए/JSPs रिटर्न के HTTP/1.1 ', JSR168 में, यह अशक्त लौट आए।

तो जब तक आपके jsr168 portlet getProtocol() द्वारा दिए गए मान पर निर्भर नहीं करता कि आप सुरक्षित हैं (यानी हर jsr168 portlet एक jsr286 portlet है)।

जो पोस्ट आप देखते हैं वह तार्किक प्रतीत होता है क्योंकि jsr286 एक नया नमूना है और कुछ विशेषताएं हैं जो jsr268 portlet jsr168 portlet नहीं बनाती हैं।

+0

हां मैंने spec के उस अनुभाग को देखा है, और यह थोड़ा अलग सवाल का जवाब देता है। यह सवाल है कि "पोर्टलेट 286 अनुरूप पोर्टल में चलाता है" हालांकि मैं लोगों को "286 अनुपालन पोर्टल" के बारे में बात करता हूं, जो कहता है कि 168 पोर्टल चल सकते हैं, लेकिन उनका जीवनकाल अलग-अलग व्यवहार किया जाता है: https: // vadin। कॉम/फोरम/-/message_boards/view_message/131405 # _19_message_151875 – Gus

+0

आपके उत्तर में मेरे उत्तर का हिस्सा शामिल है, इसलिए मैंने अभी आपको ऊपर उठाया है। मैं अभी भी यह तय करने की कोशिश कर रहा हूं कि क्या यह पूर्ण उत्तर के रूप में गिना जाता है। मुझे लगता है कि समस्या का हिस्सा यह है कि मैं अन्य पदों में वाक्यांशशास्त्र से गुमराह हो गया था, और मैं सोच रहा था कि कुछ बड़ा अंतर था, इसलिए शायद पहले मेरे प्रश्न का उत्तर बहुत अधिक नहीं है। यदि कोई मेरी सूची में कोई भी जोड़ नहीं सकता है तो मैं आपको क्रेडिट दे सकता हूं भले ही यह मेरे लिए नई जानकारी न हो, बल्कि कुछ ऐसा जो मैंने पहले ही पाया था लेकिन मेरे प्रश्न से छोड़ा गया था। – Gus

+0

हाँ, यह बहुत भ्रामक है। वैसे भी मुझे नहीं लगता कि आपको jsr268 की अंतिम रिलीज के बाद jsr168 4 साल की देखभाल करने की ज़रूरत है, खासकर जीवनभर संदर्भ – soulcheck

1

ठीक है, जब से मैं नया कुछ भी है कि एक 1.0 portlet से एक 2.0 portlet मैं यहां अपने जवाब के लिए सूचियों शुरू करेंगे (एक तरफ अतिरिक्त सेवाओं और का उपयोग करने से) अलग नहीं पाया है।

कार्य करना होगा:

  1. portlet.xml के लिए 2.0 XSD के अनुरूप (xmlns = "http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd")

नहीं करना चाहिए:

  1. getWriter एक अपवाद फेंक अगर renderResponse.setContentType अभी तक कहा जाता है नहीं किया गया है पर निर्भर हैं। (वैसे भी संभावना नहीं लगता है)
  2. getProtocol() लौटने की बाट जोहता रह अशक्त

नतीजा यह है, अगर आप बस अपने portlet.xml कनवर्ट करते हैं, आप अब कर रहे हैं "286 शिकायत" जब तक आप में दो आइटम पर भरोसा आपके कार्यक्रम प्रवाह के लिए दूसरी सूची। मुझे कुछ और नहीं मिल रहा है, लेकिन अगर किसी को इन सूचियों के लिए कोई अन्य वस्तु मिलती है, तो कृपया संपादित करें।

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