मैं CRUD एप्लिकेशन पर काम कर रहा हूं, और मुझे डेटाबेस से डेटा को सीएसवी फ़ाइल में निर्यात करने की आवश्यकता है।सशर्त रूप से फ़ाइल डाउनलोड या निर्यात सत्यापन त्रुटि संदेश
<p:commandButton value="Export" ajax="false" action="myController.export"/>
विधि लागू, मैं फ़ाइल बनाने में और OmniFaces उपयोगिता विधि के माध्यम से इसे डाउनलोड:
Faces.sendFile(file, true);
निर्यात करने के लिए, मैं ajax अक्षम करें, एक तरह से निम्नलिखित कोड में दिखाया गया है में किया था
एक ही विधि का उपयोग करना, मैं जाँच अगर वहाँ वास्तव में किसी भी डेटा है, और किसी भी डेटा, चेतावनी संवाद नहीं दिखाया जाता नहीं अगर वहाँ है:
RequestContext.getCurrentInstance().showMessageInDialog(new FacesMessage(FacesMessage.SEVERITY_WARN, "Warning!", "No available data for export."));
अब, जबकि यह सब के रूप में काम करता है इरादा, समस्या यह है कि क्योंकि AJAX अक्षम है, संवाद को गतिशील रूप से दिखाया नहीं जा सकता है, और पृष्ठ पुनः लोड किया गया है। अगर AJAX सक्षम है, तो संवाद गतिशील रूप से दिखाया गया है, लेकिन फ़ाइल डाउनलोड शुरू नहीं होता है।
मैं Monitor download का उपयोग कर, या बलपूर्वक दूसरे बटन पर क्लिक करके इस मुद्दे के आसपास काम करने की कोशिश कर रहा हूं, लेकिन अब तक मैंने इस मामले पर कोई प्रगति नहीं की है।
क्या इस तरह के मुद्दों को हल करने का कोई आम तौर पर स्वीकार्य तरीका है?