ajax - कनवर्टर के साथ प्राइफ़ास कैलेंडर, अजाक्स "वेलकम चेंज" ईवेंट पर सही तरीके से अपडेट नहीं होता है




jsf primefaces calendar converter (3)

मैं चाहता हूं कि मेरा p:calendar को कैलेंडर पॉपअप में एक तिथि पर क्लिक करके, साथ ही टेक्स्ट इनपुट फ़ील्ड में सीधे तिथि संपादित करके दोनों काम कर सकें

यह ठीक काम करता है:

        <p:calendar value="#{myBackingBean.date}">
            <p:ajax event="valueChange" listener="#{myBackingBean.updateDate()}" />
            <p:ajax event="dateSelect" listener="#{myBackingBean.selectDate()}" />
        </p:calendar>

हालांकि, जैसे ही मैं एक कनवर्टर (नीचे देखें) जोड़ता हूं, नई तिथि अब "मान बदलें" इवेंट के लिए सेट नहीं की जाती है (जब पाठ को पाठ क्षेत्र में कुंजीपटल द्वारा दिनांक संपादित किया जाता है), भले ही नई तारीख सही रूप से कनवर्ट हो, लेकिन बैकिंग बीन में सेट की जाने वाली तारीख पुरानी मान है, न कि एक को मैंने पाठ फ़ील्ड में संपादित किया है:

        <p:calendar value="#{myBackingBean.date}">
            <f:converter converterId="myLocalDateConverter"/>
            <p:ajax event="valueChange" listener="#{myBackingBean.updateDate()}" />
            <p:ajax event="dateSelect" listener="#{myBackingBean.selectDate()}" />
        </p:calendar>

मैं यह कैसे मिलकर काम कर सकता हूं?


Answers

मुझे समस्या का कारण मिला: कनवर्टर इनपुट फ़ील्ड से पाठ प्राप्त कर रहा था, जो इसे सही ढंग से परिवर्तित करने में सक्षम नहीं था। जाहिरा तौर पर यह मानक जेएसएफ जीवनचक्र के रुकावट की ओर जाता है और नए मूल्य के बजाय पुरानी कीमत निर्धारित की जाती है। ठीक से स्वरूपित इनपुट के साथ, पूरी चीज अपेक्षा के अनुरूप काम करती है


यह देखें। https://www.javacodegeeks.com/2015/06/utilizing-the-java-8-date-time-api-with-jsf-and-java-ee-7.html

यह कस्टम कनवर्टर को लागू करने के लिए कैलेंडर का कनवर्टर विशेषता का उपयोग कर रहा है। यह उदाहरण विशेष रूप से जावा 8 दिनांक एपीआई के लिए है आप अपने कोड को तदनुसार लिख सकते हैं।


मुझे भी यही तकलीफ़ है। मैं अपने AJAX पोस्ट करने से पहले जावास्क्रिप्ट के माध्यम से सबमिट एक छुपा आईफ्रेम जोड़कर फ़ायरफ़ॉक्स के लिए इसे हल करने में सक्षम था। मुझे अभी भी कुछ भी नहीं मिला है जो क्रोम / आईई में काम करता है।







ajax jsf primefaces calendar converter