2013-12-11 7 views
9

मैं अपने आवेदनचेतावनी JSF1090: नेविगेशन मामले घटक j_idt51

JSF1090 में इस चेतावनी हो रही है के लिए हल नहीं किया: नेविगेशन मामले घटक के लिए हल नहीं किया j_idt51

इस चेतावनी का क्या कारण है और मैं इसे कैसे हल कर सकता हूं? अजीब बात यह है कि घटक आईडी j_idt51 प्रस्तुत पृष्ठ में नहीं है। यदि मैं जेनरेट किए गए पृष्ठ के एचटीएमएल को देखता हूं तो आईडी j_idt51 आईडी के साथ कोई तत्व नहीं है।

उत्तर

12

यह चेतावनी हो जाएगा जब भी आप <h:link> या <h:button> की outcome विशेषता है, जो करता है नहीं एक वैध दृश्य आईडी प्रतिनिधित्व में एक (छुपा हुआ) नेविगेशन परिणाम का उपयोग करें।

उदा।

<h:link ... outcome="viewIdWhichDoesNotExist" /> 
<h:button ... outcome="viewIdWhichDoesNotExist" /> 

साथ ही, <h:link> बजाय एक <span> तत्व एक <a> तत्व प्रस्तुत करना होगा।

समाधान स्पष्ट है: वैध दृश्य आईडी का उपयोग करें, या कम से कम सुनिश्चित करें कि वांछित दृश्य ConfigurableNavigationHandler#getNavigationCase() द्वारा हल किया जा सकता है।

ध्यान दें कि कुछ उदाहरण दिए गए किसी अज्ञात कारण से भी http://google.com<h:link> के परिणाम मूल्य के रूप में की तरह एक पूर्ण URL के लिए उपयोग करें:

<h:link value="Go to Google" outcome="http://google.com" /> 

यह दुरुपयोग तो भी बिल्कुल यह चेतावनी प्राप्त करेगी। आपको इसके बजाय <h:outputLink> या केवल <a> का उपयोग करना चाहिए।

जेएसएफ घटक के समान आईडी वाले एचटीएमएल तत्व की अनुपस्थिति के रूप में, यह तब हो सकता है जब आपने जेएसएफ घटक की id विशेषता स्पष्ट रूप से निर्दिष्ट नहीं की थी। जेएसएफ घटक आईडी तब जेनरेट किए गए एचटीएमएल आउटपुट में जरूरी नहीं है। उन घटकों को असाइन करना एक निश्चित आईडी को कारण को कम करने में बेहतर मदद करनी चाहिए।

+0

एक्सेलेंट es allways ... मेरे पास एक एच था: मेरे कोड में लिंक जो अप्रचलित था। – simonC

+0

यूप, मेरे '' "परिणाम" विशेषता को उस फ़ाइल पर इंगित किया गया था जो फाइल सिस्टम में मौजूद नहीं था। जैसे ही मैंने वहां फाइल डाली, मेरा लिंक काम करता था और त्रुटि दूर गई @ धन्यवादस – fusion27

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