2011-07-25 6 views
7

मैं निम्नलिखित पोस्ट जो बहुत मददगार के रूप में मैं जो FaceletViewHandler तक फैली हुई है एक कस्टम दृश्य हैंडलर है Migrating from JSF 1.2 to JSF 2.0facelets 1.1 से प्रवास के 2.0 faclets के लिए - FaceletViewHandler

लेकिन मैं प्रवास के साथ एक समस्या हो रहा है था पढ़ा है - यह निम्नलिखित faclets 2.

मैं JBoss पर पलायन कर रहा हूँ का हिस्सा नहीं है 4.2.2: - JSF 1.2 JSF 2.0

मैं भी faclets स्थानांतरित करना चाहते हैं - जो मैं एक समस्या के ऊपर वर्णित है।

मेरे आवेदन में, मैं टॉमहॉक का भी उपयोग कर रहा हूं - क्या इस माइग्रेशन के साथ कोई समस्या है?

अग्रिम धन्यवाद।

एलिको।

उत्तर

7

ठीक है, आपको FaceletViewHandlerViewHandlerWrapper द्वारा प्रतिस्थापित करने की आवश्यकता है।

तो निम्न बुनियादी FaceletViewHandler कार्यान्वयन:

import javax.faces.application.ViewHandler; 
import com.sun.facelets.FaceletViewHandler; 

public class MyViewHandler extends FaceletViewHandler { 

    public MyViewHandler(ViewHandler parent) { 
     super(parent); 
    } 

    // ... 
} 

इस प्रकार अपडेट करने की आवश्यकता:

import javax.faces.application.ViewHandler; 
import javax.faces.application.ViewHandlerWrapper; 

public class MyViewHandler extends ViewHandlerWrapper { 

    private ViewHandler wrapped; 

    public MyViewHandler(ViewHandler wrapped) { 
     this.wrapped = wrapped; 
    } 

    @Override 
    public ViewHandler getWrapped() { 
     return wrapped; 
    } 

    // ... 
} 

मैं तदनुसार प्रवास सवाल पर मेरा उत्तर नवीनीकृत किया है।

0

सक्रिय करने के लिए MyViewHandler उदा। जेईई 7 के लिए, वेब-आईएनएफ/चेहरे-config.xml को परिभाषित किया जाना चाहिए:

<?xml version="1.0"?> 
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
      http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> 
    <application> 
     <view-handler>pkg.MyViewHandler</view-handler> 
    </application> 
</faces-config> 
संबंधित मुद्दे