दिलचस्प पोस्ट
कैसे जावास्क्रिप्ट में फ़ायरफ़ॉक्स से HTML को पार्स करने के लिए? क्या यह संभव है कि फ्लेक्स आइटम उन वस्तुओं के ऊपर कसकर संरेखित करें? डाटा ऑब्जेक्ट्स डेटाबेस में कैसे संग्रहीत हैं? तार की एक सरणी के अंदर एक स्ट्रिंग के लिए खोज कैसे करें किसी प्रोजेक्ट से कोकोपॉड को कैसे निकालना है? सी संकलन त्रुटि: आईडी 1 बाहर निकलें की स्थिति लौटाई गई डिफ़ॉल्ट क्रेडेंशियल का उपयोग करने के लिए मुझे डिफ़ॉल्ट प्रॉक्सी कैसे सेट करना चाहिए? जावास्क्रिप्ट कॉलबैक जब IFRAME लदान समाप्त हो गया है? क्या एल्गोरिदम यूआरएल से पाठ निकालने के लिए पठनीयता उपयोग करता है? यदि वादा में दूसरा प्रवाह (ब्लूबर्ड) पाठ और कैलेंडर के साथ ईमेल को मल्टीपार्ट करें: आउटलुक आईसीएस को नहीं पहचानता है एसडी कार्ड से ईमेल भेजने की कोशिश कर रहा है I क्या JAXB समर्थन xsd: प्रतिबंध? एंड्रॉइड – एक बार क्लिक किए जाने पर सूची की सूची को हाइलाइट रखें कैसे एक iPhone विकास प्रमाण पत्र नवीनीकृत करने के लिए?

जेएसएफ बैकिंग बीन पद्धति को कैसे कॉल करें, जब ऑनक्लिक / अपूर्ण / ऑन … ईवेंट होता है और पेज लोड पर नहीं होता है

मेरे पास दो छवि बटन हैं:

<div class="sidebarOptions"> <input type="image" src="images/homeButton.jpg" onclick="#{home.setRendered(1)}"/> </div> <div class="sidebarOptions"> <input type="image" src="images/memberButton.jpg" onclick="#{home.setRendered(2)}"/> </div> 

हालांकि, दोनों तरीकों का तुरंत उपयोग किया जाता है जब पृष्ठ 1 और 2 के मूल्यों के साथ लोड होता है। साथ ही, जब मैं इसे क्लिक करता हूं, तो दोनों तरीकों का उपयोग किया जाता है।

जब इमेज बटन वास्तव में क्लिक किया जाता है तो मैं बीन विधि को बुलाए जाने की वांछित कार्यक्षमता कैसे प्राप्त कर सकता हूं?

Solutions Collecting From Web of "जेएसएफ बैकिंग बीन पद्धति को कैसे कॉल करें, जब ऑनक्लिक / अपूर्ण / ऑन … ईवेंट होता है और पेज लोड पर नहीं होता है"

यह दृष्टिकोण काम नहीं करेगा आप "सर्वर साइड" और "क्लाइंट साइड" के बुनियादी वेब डेवलपमेंट अवधारणाओं को भ्रमित / मिश्रण करने लगते हैं और JSF और EL की भूमिका को गलत समझते हैं।

JSF एक सर्वर साइड भाषा है जो वेबसर्वर पर एक HTTP अनुरोध पर चलता है और एचटीएमएल / सीएसएस / जेएस कोड उत्पन्न करता है जो HTTP प्रतिक्रिया के साथ वापस आती है। ${} और #{} रूप में सभी EL अभिव्यक्तिएं HTML आउटपुट उत्पन्न करने के दौरान सर्वर साइड में निष्पादित की जाएंगी। जावास्क्रिप्ट क्लाइंट साइड भाषा है जो वेबब्रोवर पर चलता है और एचटीएमएल डोम ट्री पर काम करता है। एचटीएमएल ऑनक्लिक एट्रिब्यूट को जावास्क्रिप्ट फंक्शन को निर्दिष्ट करना चाहिए जो क्लाइंट साइड में विशेष HTML डोम ईवेंट पर निष्पादित किया जाएगा।

JSF प्रबंधित बीन विधि को खोलने के लिए, आपको action या *listener विशेषता की आवश्यकता है। JSF वांछित HTML उत्पन्न करने के लिए घटकों को प्रदान करता है और इच्छित एजेक्स क्रियाओं को निर्दिष्ट करता है जो सर्वर साइड स्टेट को बदल देगा। एक <input type="image"> एक <h:commandButton image> का उपयोग करके जनरेट किया जा सकता है बीन विधि उस घटक की action विशेषता द्वारा लागू की जा सकती है। उस घटक को <f:ajax> टैग को एम्बेड करके एजेक्सिड किया जा सकता है

इसलिए, निम्नलिखित आपके लिए यह करना चाहिए:

 <h:form> <div class="sidebarOptions"> <h:commandButton image="images/homeButton.jpg" action="#{home.setRendered(1)}"> <f:ajax execute="@this" render=":sidebar" /> </h:commandButton> </div> <div class="sidebarOptions"> <h:commandButton image="images/memberButton.jpg" action="#{home.setRendered(2)}"> <f:ajax execute="@this" render=":sidebar" /> </h:commandButton> </div> </h:form> <!-- The below is just a guess of what you're really trying to achieve. --> <h:panelGroup id="sidebar" layout="block"> <h:panelGroup rendered="#{home.rendered eq 1}"> Home </h:panelGroup> <h:panelGroup rendered="#{home.rendered eq 2}"> Member </h:panelGroup> </h:panelGroup> 

यह भी देखें:

  • कार्रवाई और कार्रवाई के बीच मतभेद
  • JSF घटक के * विशेषता पर एक प्रबंधित बीन क्रिया पद्धति को कैसे खोलें
  • नेटवर्क्स जावास्क्रिप्ट का उपयोग करते हुए एक एचटीएमएल डोम ईवेंट पर जेएसएफ प्रबंधित बीन को कैसे खोलें?