java - Redirecting to a Facelet is not working when extending FaceletViewHandler -
मैं com.sun.facelets.FaceletViewHandler में परिभाषित handleRenderResponse विधि को ओवरराइड कर रहा हूँ:
संरक्षित void handleRenderException (FacesContext संदर्भ, अपवाद पूर्व)
मैं इस विधि को ओवरराइड कर रहा हूं ताकि मैं उपयोगकर्ता को एक कस्टम त्रुटि पृष्ठ पर रीडायरेक्ट कर सकूं (जिसमें वांछित रूप और लग रहा है और अन्य सामान )। इस तरह से मैं
स्ट्रिंग त्रुटि पृष्ठ = "/error.xhtml" की कोशिश कर रहा हूं; स्ट्रिंग संदर्भपैथ = context.getExternalContext ()। GetRequestContextPath (); स्ट्रिंग त्रुटिपेजपथ = संदर्भपैथ + त्रुटिपेज; context.getExternalContext () अनुप्रेषित (errorPagePath)।
पिछला कोड है जो मैं इस कस्टम त्रुटि पृष्ठ पर रीडायरेक्ट करने के लिए उपयोग कर रहा हूं। वैसे भी, जब मैं रीडायरेक्ट करता हूं, तो मुझे एक डाउनलोड डायलॉग के साथ संकेत मिलता है (यह इंटरनेट एक्सप्लोरर के साथ है, फ़ायरफ़ॉक्स में पेज ठीक से प्रदर्शित नहीं होता है या जैसा मैं उम्मीद करता हूं)। मैंने "/error.xhtml" को "/error.jsf" में बदलने की कोशिश की लेकिन उस स्थिति में मुझे एक 404 त्रुटि मिलती है।
किसी भी तरह मुझे लगता है कि एक्सएचटीएमएल फ़ाइल को पुनर्मुद्रण के बाद फेसलेट व्यूहैंडलर पर नहीं संभाला जा रहा है, अगर मैं डाउनलोड एक्सएचटीएमएल फ़ाइल खोलता हूं तो मैं देख सकता हूँ कि ईएल अभिव्यक्तियाँ हल नहीं हुईं और यूआई टैग नहीं थे संभाला। मेरे आवेदन में अन्य पृष्ठों के साथ मेरे पास कोई समस्या नहीं है, केवल जब प्रोग्राम को पुनर्निर्देशित करते हैं।
मेरे web.xml का महत्वपूर्ण डेटा:
facelets.VIEW_MAPPINGS सेट है के लिए * .xhtml
javax.faces.DEFAULT_SUFFIX पर सेट है। एक्सएचटीएमएल
servlet-mapping के लिए "चेहरे सरलेट "है" " .jsf" और "/ चेहरे / "
Comments
Post a Comment