2009-07-29 15 views
9

का विस्तार करना चाहिए मैं वसंत को एक जेएसएफ एप्लिकेशन में एकीकृत करने की कोशिश कर रहा हूं।कक्षा org.springframework.web.jsf.el.SpringBeanFacesELResolver प्रकार javax.el.ELResolver

faces-config.xml में, मैं इस में शामिल हैं:

<application>  
    <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> 
    <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> 
</application> 

लेकिन यह एक अजीब चेतावनी जो मैं से छुटकारा नहीं मिल सकता है पता चलता है:

Class org.springframework.web.jsf.el.SpringBeanFacesELResolver must extend the type javax.el.ELResolver 

कोई भी विचार?

उत्तर

0

खैर मेरी समस्या से इन पंक्तियों के प्रतिस्थापन गायब हो गया:

<!-- variable/property resolver registration --> 
    <application> 
     <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> 
     <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver> 
    </application> 

आशा है कि यह मदद करता है!

+9

जेएसएफ 1.1 के बाद परिवर्तनीय रिज़ॉल्यूवर को हटा दिया गया था – Cracker

1

यह संभवतः क्लासलोडर कॉन्फ़िगरेशन समस्या है। यदि SpringBeanFacesELResolver की मूल श्रेणी एक अलग क्लासलोडर से है जो जेएसएफ कक्षाओं द्वारा बूटस्ट्रैपिंग कर रही है, तो यह देखने के लिए जांच करें कि यह ELResolver का उदाहरण विफल हो जाएगा।

यदि आपके पास वैश्विक क्लासपाथ में मेटा-आईएनएफ/चेहरे-config.xml है तो समस्याएं हो सकती हैं, लेकिन मुझे लगता है कि अन्य कारण भी हो सकते हैं।

इससे मदद मिलेगी कि आप किस कंटेनर का उपयोग कर रहे हैं, आपके आवेदन के लिए क्लासलोडर नीति और जहां आपने किसी तीसरे पक्ष के पुस्तकालयों (जैसे फेसलेट्स और स्प्रिंग लिब) रखा है, पर जानकारी पोस्ट की है।

0

कृपया आवेदन में उपयोग की जा रही जेएआर फाइलों की जांच करें। आवेदन में सेट कक्षा पथ फिर से। मुझे लगता है कि यह कक्षा वर्ग पथों में वर्ग संघर्ष के कारण है।

11

spring documentation से, आप देखेंगे org.springframework.web.jsf.el.SpringBeanFacesELResolver के लिए: स्प्रिंग की 'व्यापार संदर्भ' के लिए

प्रतिनिधियों तो WebApplicationContext पहले के डिफ़ॉल्ट रिसोल्वर को JSF अंतर्निहित कार्यान्वयन

और org.springframework.web.jsf.DelegatingVariableResolver के लिए:

होगा अंतर्निहित JSF कार्यान्वयन के डिफ़ॉल्ट रिसोल्वर के लिए और फिर वसंत की 'व्यापार संदर्भ' WebApplicationContext

आप देख सकते हैं, व्यवहार बहुत अलग है करने के लिए पहली प्रतिनिधि मूल्य लुकअप। यदि आपको आदेश की परवाह नहीं है, तो आप ठीक हैं, लेकिन यदि आप वास्तव में org.springframework.web.jsf.el.SpringBeanFacesELResolver का उपयोग करने का इरादा रखते हैं तो आपको बस इतना करना है कि आप el-api.jar का संस्करण सुनिश्चित करें निर्भरता वसंत के आपके संस्करण के साथ संगत है।मेरे लिए, मैं (मेरे Maven पोम में) इस राशि:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>3.0.5.RELEASE</version> 
    <type>jar</type> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.tomcat</groupId> 
    <artifactId>el-api</artifactId> 
    <version>6.0.32</version> 
    <type>jar</type> 
    <scope>provided</scope> 
</dependency> 
0

धन्यवाद # saadi90, mvnrepository.com से मैं इस पाया जाता है और यह समस्या हल हो:

<dependency> 
    <groupId>org.glassfish.web</groupId> 
    <artifactId>el-impl</artifactId> 
    <version>2.2</version> 
</dependency> 
-1

अपने प्रोजेक्ट पहलुओं को कॉन्फ़िगर करें।

enter image description here

1

इस प्रकार की समस्या आप javax prefix के साथ इस परियोजना का विस्तार करना चाहिए, क्योंकि Class ELResolverjavax.el package के तहत एक abstract class है हल करने के लिए अपने स्थानीय सर्वर के साथ चलाने के लिए।

<application> 
     <javax.el-resolver> 
     org.springframework.web.jsf.el.SpringBeanFacesELResolver 
     </javax.el-resolver>  
    </application> 

अधिक ELResolver वर्ग के बारे में जानकारी आप link से प्राप्त कर सकते हैं:

यहाँ कोड है।

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