दिलचस्प पोस्ट
इंटरनेट एक्सप्लोरर में 'स्क्रिप्ट' टैग के लिए 'ऑनलोड' हैंडलर क्या रूबी की स्ट्रिंग प्रक्षेप के लिए एक पायथन बराबर है? कैसे एंड्रॉइड में धागा को रोकने / फिर से शुरू करें? अगर कोई सरणी में एक निश्चित मान है, तो मैं कैसे परीक्षण कर सकता हूं? जावा में एनोटेशन कैसे और कहाँ हैं? केवल फ़ील्ड का उपयोग करने के लिए जैक्सन निर्दिष्ट करने के लिए – अधिमानतः विश्व स्तर पर जावा में स्ट्रिंग की अधिकतम लंबाई – कॉलिंग लंबाई () विधि एंड्रॉइड: मैं ग्राफ़ के लिए एचकर्ट एंजिन लाइब्रेरी का उपयोग कर रहा हूं, लेकिन एंड्रॉइड एक्सएमएल के साथ ऐंचैर्टगिन के ग्राफ दृश्य को एकीकृत करने में सक्षम नहीं है? इन (बीकंडिशन == नल) और (नाल == बीकंडशन) के बीच अंतर क्या है? जावा: सिस्टम। एक्सट () को कॉल करने वाले तरीकों का परीक्षण कैसे करें? न्यूनतम वैध JSON क्या है? गीत में हेड, काम कर पेड़ और सूचकांक के बीच अंतर क्या है? ओएस एक्स मैवरिक्स के लिए ग्रहण केप्लर जावा एसई 6 का अनुरोध करते हैं अतिभारित फ़ंक्शन के लिए मैं एक संकेतक कैसे निर्दिष्ट करूं? आप प्रदर्शन परीक्षण जावास्क्रिप्ट कोड कैसे करते हैं?

@ViewScoped कॉल्स @ PostConstruct प्रत्येक पोस्टबैक अनुरोध पर

यह सही नहीं लगता मैं अपने कोड के कुछ सफाई कर रहा था और मैंने अभी इस पर ध्यान दिया। हर @PostConstruct अनुरोध निर्माता को फायरिंग कर रहा है और @ViewScoped बीन के @ViewScoped यहां तक ​​कि एक साधारण डाटाबेस पृष्ठांकन भी फ़ायरिंग कर रहा है।

मुझे समझा गया कि @ViewScoped से अधिक लंबा है और यह प्रत्येक अनुरोध पर पुनर्निर्धारित नहीं होना चाहिए। GET द्वारा पूर्ण पृष्ठ पुनः लोड होने के बाद ही।

वेब के समाधान से एकत्रित समाधान "@ViewScoped कॉल्स @ PostConstruct प्रत्येक पोस्टबैक अनुरोध पर"

दूसरे शब्दों में, आपका @ViewScoped बीन एक @ViewScoped बीन की तरह व्यवहार करता है यह प्रत्येक पोस्टबैक अनुरोध पर खरोंच से निर्मित किया गया है। इस के लिए कई संभावित कारण हैं, जिनमें से अधिकांश फोड़े हैं कि संबंधित JSF दृश्य अब जेएसएफ राज्य में उपलब्ध नहीं है, जो बदले में HTTP सत्र से जुड़े डिफ़ॉल्ट रूप से होता है।

  1. आप Mojarra 2.1.17 या पुराने का उपयोग कर रहे हैं, और इस दृश्य में ईएल अभिव्यक्तियां शामिल हैं, जो एक दृश्य विशेषता को स्कॉइड बीन प्रॉपर्टी को बाँध करते हैं, जिसे दृश्य बिल्ड समय के दौरान मूल्यांकन किया जाता है। उदाहरण JSTL <c:if> , <c:forEach> , आदि या JSF <ui:include> , <x:someComponent id="#{...}" , <x:someComponent binding="#{...}"> , आदि। यह Mojarra ( मुद्दा 14 9 2 ) में एक बग के कारण होता है। यह भी देखें कि क्यों @PostConstruct कॉलबैक आग हर बार करता है, भले ही बीन @ViewScoped है? JSF

    यह पहले से ही Mojarra संस्करण 2.1.18 में तय हो गया है। यदि आप किसी नए संस्करण में अपग्रेड नहीं कर सकते हैं, तो workaround नीचे आंशिक राज्य बचत को web.xml में अक्षम करना है, JSF2 Facelets में JSTL भी देखें … समझ में आता है?

     <context-param> <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name> <param-value>false</param-value> </context-param> 

    या जब आप केवल विशिष्ट JSF दृश्य का लक्ष्य निर्धारित करना चाहते हैं:

     <context-param> <param-name>javax.faces.FULL_STATE_SAVING_VIEW_IDS</param-name> <param-value>/foo.xhtml;/bar.xhtml;/folder/baz.xhtml</param-value> </context-param> 

    उल्लेख करने के लिए महत्वपूर्ण यह है कि JSF घटक के id या binding विशेषता के मान को binding करने से बीन की संपत्ति खराब होती है। उन लोगों को वास्तव में अनुरोध की जा रही बीन की संपत्ति के लिए बाध्य होना चाहिए, या एक वैकल्पिक मांग की जानी चाहिए। यह भी देखें कि 'बाध्यकारी' विशेषता JSF में कैसे काम करती है? यह कब और कैसे इस्तेमाल किया जाना चाहिए?

  2. आप Mojarra 2.2.0 का प्रयोग कर रहे हैं, केवल उस संस्करण में दृश्य गुंजाइश बनाए रखने में एक (अभी तक अज्ञात) बग है जो 2.2.1 में पहले से तय हो चुका है, यह भी देखें 2912 । समाधान एक नए संस्करण में अपग्रेड करना है।

  3. @ViewScoped एनोटेशन को गलत पैकेज से आयात किया जाता है। JSF दो @ViewScoped एनोटेशन प्रदान करता है, एक javax.faces.bean पैकेज के लिए javax.faces.bean प्रबंधित बीन्स javax.faces.bean साथ एनोटेट किया गया है, और javax.faces.view प्रबंधन के लिए javax.faces.view पैकेज से एक और नाम javax.faces.view बीन्स के लिए पैकेज है। बीन स्कोप एनोटेशन बीन मैनेजमेंट एनोटेशन से मेल नहीं खाती, तो वास्तविक बीन क्षेत्र बीन मैनेजमेंट फ़्रेमवर्क की डिफ़ॉल्ट गुंजाइश बन जाएगा, जो कि जेएसएफ @Dependent सेम में @Dependent और सीडीआई प्रबंधित बीन्स पर @Dependent है।

    आपको यह सुनिश्चित करने की ज़रूरत है कि आपके पास इनमें से किसी एक का निर्माण होता है और उन्हें मिश्रण न करें, JSF 2.2 का उपयोग करते समय प्रत्येक पोस्टबैक अनुरोध पर @ViewScoped बीन का निर्माण भी देखें।

     import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; @ManagedBean @ViewScoped public class CorrectJSFViewScopedBean implements Serializable { 

     import javax.inject.Named; import javax.faces.view.ViewScoped; @Named @ViewScoped public class CorrectCDIViewScopedBean implements Serializable { 
  4. दृश्य (गलती से?) <f:view transient="true"> माध्यम से क्षणिक रूप से चिह्नित है। यह मूल रूप से "स्टेटलेस जेएसएफ" चालू करता है, जो Mojarra 2.1.19 के बाद से नया है। इसके द्वारा जेएसएफ़ के दृश्य को केवल जेएसएफ राज्य में ही नहीं बचाया जायेगा और तार्किक परिणाम यह है कि सभी संदर्भित व्यू स्कॉड सेम को जेएसएफ के दृश्य से जोड़ा नहीं जा सकता है। यह भी देखें JSF में statelessness की उपयोगिता क्या है?

  5. वेब एप्लिकेशन को com.sun.faces.enableRestoreView11Compatibility प्रसंग परम के साथ कॉन्फ़िगर किया गया true , "से बचें" ViewExpiredException गलत प्रयास में इस संदर्भ परम के साथ, ViewExpiredException कभी नहीं फेंक दिया जाएगा, लेकिन दृश्य (और सभी संबद्ध दृश्य स्कॉड बीन्स) को सिर्फ खरोंच से बनाया जाएगा। हालांकि, यदि हर अनुरोध पर ऐसा होता है, तो यह दृष्टिकोण वास्तव में एक और समस्या को छुपाता है: विचारों को जल्द ही समाप्त होता है। यह JSF दृश्य राज्यों और / या HTTP सत्र को बनाए रखने में एक संभावित समस्या को इंगित करता है। ठीक से कैसे कॉन्फ़िगर / कॉन्फ़िगर करें, सिर को javax.faces.application.ViewExpiredException: देखें बहाल नहीं किया जा सकता ।

  6. वेब अनुप्रयोग का रनटाइम क्लासपाथ कई अलग-अलग संस्करण वाले जेएसएफ एपीआई या इम्प्लिमेंट संबंधी वर्गों के साथ प्रदूषित है। जेएसएफ दृश्य राज्य के लिए पहचानकर्ता / मार्करों में भ्रष्टाचार / बेमेल का कारण होता है आपको यह सुनिश्चित करने की ज़रूरत है कि आपके पास वेबफ़ेस /WEB-INF/lib में एकाधिक JSF एपीआई जार फाइल नहीं है यदि आप मेवेन का उपयोग कर रहे हैं, तो सावधानीपूर्वक सुनिश्चित करें कि आप सर्वर से प्रदान की गई पुस्तकालयों को <scope>provided</scope> रूप में चिह्नित करें हमारे जेएसएफ विकी पृष्ठ में "जेएसएफ अधिष्ठापन" खंड को भी देखें और इस संबंधित प्रश्न का उत्तर: मेवेन के माध्यम से जेएसएफ पुस्तकालयों को कैसे ठीक से स्थापित और संरचित किया जाए? ।

  7. जब आप प्राइमफैसेस <p:dialog> का उपयोग कर रहे हैं, तो सुनिश्चित करें कि <p:dialog> का अपना <h:form> और यह किसी और में नहीं है <h:form> पी भी देखें : फ़ाइल में अंदर अपलोड करें: डायलॉग व्हाट्सस्कोडेड मान

  8. जब आप प्राइमफेस फाइलों को जोड़ते हैं, तो PrettyFaces के साथ FileUploadFilter फ़िल्टर करें, फिर सुनिश्चित करें कि FileUploadFilter भी PrettyFaces-rewritten / forwarded अनुरोधों पर चलता है। जब भी FileUploadListener PrettyFaces का उपयोग कर बुलाया जाता है और PrimeFaces का उपयोग करने के लिए कैसे ViewScoped बीन को फिर से बनाया देखें : fileUpload? श्रोता विधि कभी लागू नहीं हुई है या अपलोड की गई फ़ाइल शून्य है

  9. जब आप प्रीफ़ीफेस का उपयोग कर रहे हैं, तो एक बुरी तरह से विन्यस्त पुन: लिखना नियम है जो CSS / JS / image संसाधनों को @ViewScoped बीन से बंधा JSF पृष्ठ पर @ViewScoped करेगा, भ्रामक व्यवहार भी देगा। सीडीआई देखें स्कोप और प्रीटीफेस भी देखेंः @ POSTConstruct (JSF 2.2) के लिए कई कॉल ।