2011-09-22 10 views
8

JBoss 6.0.0.Final, Richfaces 3.3.3.Final, MyFaces 2.0.6 का उपयोग के साथ एनोटेशन मिश्रण कैसे facelets 1.1.15.B1 (आरएफ 3 की एक सीमा)।चेहरे-config.xml

मैं एक विरासत परियोजना जो सेम faces-config.xml में परिभाषित के सैकड़ों शामिल हैं पर हूँ। मैं चेहरे-config.xml में परिभाषित रखना चाहता हूं लेकिन नए सेम के लिए एनोटेशन का उपयोग करें। हालांकि, जब मैंने कोशिश की तो मुझे सफलता नहीं मिली है। एनोटेशन द्वारा परिभाषित बीन्स i.e.

@ManagedBean 
@ViewScoped 
public class Foobar implements Serializable { 
    // ... 
} 

बीन मेरे जेएसएफ पृष्ठ से उपलब्ध नहीं है। मेरा मानना ​​है कि मैंने उचित शीर्षलेख का उपयोग कर अपने चेहरे-config.xml में 2.0 संस्करण निर्दिष्ट किया है।

<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 

कुछ और भी इस्तेमाल किया जा करने के लिए मैं एनोटेशन अनुमति देने के लिए faces-config.xml में क्या करने की जरूरत है?

उत्तर

9

एनोटेट सेम निम्नलिखित मामलों में असफल हो जायेगी:

  1. /WEB-INF/faces-config.xml JSF 2.0 के अनुरूप घोषित नहीं किया गया है।

  2. @ManagedBeanjavax.faces.bean के बजाय javax.annotation पैकेज का है।

  3. बीन वर्ग संकलित किया गया नहीं है/युद्ध के /WEB-INF/classes में बनाया गया।

  4. बीन एक जार फ़ाइल जो /META-INF/faces-config.xml याद आ रही है में पैक किया जाता है।

  5. ईएल में एक गलत प्रबंधित बीन नाम का उपयोग किया जा रहा है, यह जावबीन्स स्पेक के अनुसार पहले वर्ण के साथ बीन क्लास नाम होना चाहिए। तो आपके विशेष उदाहरण में, #{fooBar} काम करना चाहिए, लेकिन #{FooBar} नहीं होगा।

  6. का webapp JSF 1.x लिब्ज़ का उपयोग कर वास्तव में है (यदि आप सर्वर स्टार्टअप लॉग में JSF संस्करण पढ़ सकते हैं)।

+1

क्षमा करें, मुझे यह निर्दिष्ट करना चाहिए था कि मैं एक ही बीन के लिए एनोटेशन और चेहरे-config.xml कॉन्फ़िगरेशन दोनों का उपयोग करने की कोशिश नहीं कर रहा हूं। मैं चेहरे-config.xml – user959690

+0

का उपयोग करने से पुराने बीन्स को माइग्रेट किए बिना नए बीन्स जोड़ना चाहता हूं मैंने जवाब अपडेट किया। – BalusC