2011-05-13 15 views
6

पर जेएसएफ 2.0 चलाना जहां तक ​​मुझे पता है, जेएसएफ 2 को सर्वलेट 2.5 की आवश्यकता है, इसलिए यह जेबीओएसएस 4.05 (टॉमकैट 5.5) पर नहीं चलता है। दुर्भाग्य से मुझे उस एप्लिकेशन को तैनात करना है जो उस वातावरण पर जेएसएफ 2.0 और प्राइमफेस का उपयोग करता है।सर्वलेट 2.4 कंटेनर

क्या इसका उपयोग करने के लिए कोई हैक है?

उत्तर

12

जेएसएफ 2.0 EL 2.1 पर भारी निर्भर करता है जो सर्वलेट 2.5 का हिस्सा है और EL 2.0 के विपरीत एक बड़ा परिवर्तन है जो सर्वलेट 2.4 का हिस्सा है, लेकिन यह किसी भी विशेष सर्वलेट 2.5 विशिष्ट एपीआई पर निर्भर नहीं है। सर्वलेट 2.4 को अच्छा काम करना चाहिए। तो सिद्धांत रूप में, आप जेएसएफ 2.0 को सर्वलेट 2.4 पर काम करने के लिए प्राप्त कर सकते हैं यदि आप अपना खुद का ईएल 2.1 एपीआई प्रदान करते हैं और /WEB-INF/lib में कार्यान्वयन करते हैं। मैं एक त्वरित परीक्षण /WEB-INF/lib में निम्नलिखित पुस्तकालयों के साथ बिलाव 5.5.33 को यहां किया:

  • el-api.jar फ़ाइल के Tomcat 6.0.x
  • jboss-el.jar फ़ाइल lib फ़ोल्डर से नकल (ईएल 2.1 लागू करता है और तर्क के साथ विधि मंगलाचरण की तरह ईएल 2.2 का समर्थन करता है) से Mojarra 2.0.x

  • jsf-api.jar और jsf-impl.jar और एक सर्वलेट 2.4 web.xml जहां JBoss ईएल घोषित कर दिया गया है:

    <context-param>  
        <param-name>com.sun.faces.expressionFactory</param-name> 
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value> 
    </context-param> 
    

    एक साधारण JSF 2.0 Facelet (नहीं JSP!) एक सरल @ViewScoped@ManagedBean बिलाव 5.5.33 पर मेरे लिए काम करता है <f:ajax> के साथ एक बटन और के साथ एक सरल <h:form> साथ। इसे अपने जेबॉस 4.0.5 पर आज़माएं और इसे पूरी तरह से जांचें।

    ध्यान दें कि आपको कम से कम जेडीके 1.5 की आवश्यकता है, जेडीके 1.4 नहीं। यह भी ध्यान रखें कि Servlet 2.5 विशिष्ट el-api.jar फ़ाइल की उपस्थिति के कारण आपका एप्लिकेशन किसी भी सर्वलेट 3.0 कंटेनर के लिए अप्राप्य है।

  • +1

    अच्छा आदमी, धन्यवाद! लेकिन मुझे अभी भी एक समस्या है - प्राइमफेस ने उस दृष्टिकोण के साथ काम नहीं किया। त्रुटि: कारण: org.xml.sax.SAXException: त्रुटि हैंडलिंग [जार: फ़ाइल: /HIDDEN/jboss-4.0.5.GA/server/default /./ tmp/तैनाती/tmp1314317090148712617primefaces-test-exp.war/वेब-आईएनएफ/lib/primfaces-3.0.M2-SNAPSHOT.jar! /META-INF/[email protected],17] –

    +1

    प्राइमफ़ेस 2.x का प्रयास करें। 3.0 में सर्वलेट 3.0 विशिष्ट निर्भरताएं हैं। – BalusC

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