का सबसे अच्छा तरीका एक JSF2 webapp में "अनियंत्रित" अपवाद को संभालने के लिए क्या है?JSF2 अपवाद हैंडलिंग
वर्तमान में, मैं उन्हें सर्वलेट कंटेनर तक प्रवाह, और मैं एक jsp त्रुटि एक दोस्ताना संदेश और अपवाद की जानकारी दिखा पृष्ठ पर (web.xml फ़ाइल के माध्यम से) अनुप्रेषित करते हैं।
बेहतर उन्हें एक "कस्टम अपवाद संचालक" के साथ संभाल करने के लिए है (एड बर्न्स पुस्तक "JSF 2.0 - पूरा संदर्भ" में कहते हैं) की तरह।
दोनों ही मामलों ("web.xml" या "अपवाद संचालक") में: मैं एक jsp पेज के बजाय एक facelet पृष्ठ पर रीडायरेक्ट करने के लिए है? (क्योंकि अपवाद शायद जेएसएफ समस्या के कारण होता है और परिणामस्वरूप लूप हो सकता है)। या मैं एक फेसलेट पेज पर रीडायरेक्ट कर सकता हूं? जेएसपी पेज पर रीडायरेक्ट करने से जेएसएफ ऐप को जेएसपी और फेसलेट दोनों को स्वीकार करने के लिए कॉन्फ़िगर करने का नुकसान होता है (यह केवल चेहरे वाले पृष्ठों वाले "साफ" होगा)।
अंत में, एक और सवाल: "कस्टम अपवाद संचालक" "जाँच" अपवाद भी संभालती है? वर्तमान में, मैं उन्हें प्रबंधित सेम में संभालता हूं (उन्हें पकड़ता हूं और ऐप पेज में चेहरे का दृश्य दिखाता हूं)।
धन्यवाद बालूसी। सिर्फ एक प्रश्न: फेसलेट त्रुटि पृष्ठ का उपयोग करने के लिए यह एक बुरा अभ्यास नहीं है? (बस एक संदेश और अपवाद जानकारी दिखा रहा है)। यह तब भी काम करता है जब अपवाद जेएसएफ ढांचे के कारण होता है? – choquero70
ठीक है, अगर अपवाद जेएसएफ कार्यान्वयन में कुछ बग के कारण होता है, तो यह न केवल त्रुटि पृष्ठ पर प्रकट होता है, बल्कि अन्य सभी पृष्ठों पर भी प्रकट होता है। – BalusC
आप सही हैं ... लेकिन उस स्थिति में (अन्य जेएसएफ पृष्ठों पर प्रकट), अगर हमारे पास एक जेएसपी त्रुटि पृष्ठ है, तो यह त्रुटि को सही तरीके से दिखाएगा। अन्यथा, अगर हमारे पास फेसलेट त्रुटि पृष्ठ था, तो यह काम नहीं करेगा। तो क्या त्रुटि पृष्ठ जेएसपी होना बेहतर नहीं है? मुझे जवाब नहीं होना चाहिए, ताकि मेरे पास जेएसपी और फेसलेट्स को एप्लिकेशन में मिश्रित न किया जाए :) लेकिन मुझे डर है कि यह हाँ है। आप अपने ऐप्स, जेएसपी या फेसलेट त्रुटि पृष्ठ में क्या उपयोग करते हैं? – choquero70