2011-06-21 10 views
5

सीडीआई का उपयोग करने के शुरुआती दिनों में मैं चेहरे-रीडायरेक्ट = सत्य का उपयोग कर सक्रिय चल रहे बातचीत के साथ एक पृष्ठ पर नेविगेट कर रहा हूं, इसलिए मेरे पास ..myPage.xhtml? Cid = 1 जैसे URL हैं।सीडीआई/वेल्ड - वार्तालाप समाप्त करने के बाद ब्राउज़र पेज को रीफ्रेश कैसे करें?

किसी बिंदु पर मैं वार्तालाप समाप्त करता हूं, मेरा मतलब है कि करने के लिए यह उचित बात होनी चाहिए या आप सत्र स्कोप का भी उपयोग कर सकते हैं? वैसे भी, मैं वार्तालाप समाप्त करता हूं और फिर उपयोगकर्ता F5 को हिट करता है, और फिर निश्चित रूप से यह 'वार्तालाप नहीं मिला' त्रुटि का कारण बनता है क्योंकि cid = 1 मौजूद नहीं है।

कोई भी इस समस्या को हल करने का सुझाव दे सकता है? मैं स्टीवन Verborgh व्यूस्पेड कार्यान्वयन और पृष्ठों के बीच पैरामीटर पास करने के लिए बस एक वार्तालाप स्कैन बीन का उपयोग कर रहा हूँ। तो मेरे पास उदाहरण के लिए 2 @ViewScoped बीन्स हैं जिनमें से प्रत्येक पृष्ठ 1 & 2. I @ ConconationScoped पैरामीटर बीन दोनों दृश्य स्कोप्ड बीन्स में इंजेक्ट करें। मैं वार्तालाप शुरू करता हूं (पैरामीटरबीन.नेट कॉन्फ़्रेंसेशन()। प्रारंभ करें()) पृष्ठ से बुलाए गए एक्शन विधि में। पृष्ठ 2 के लिए प्रीरेंडर व्यू ईवेंट में मैं पैरामीटर के गुणों का संदर्भ लेता हूं, पेज 2 बैकिंग बीन में इंस्टेंस वैरिएबल और वार्तालाप समाप्त करें, यह काम कर चुका है और अब इसकी आवश्यकता नहीं है।

F5 समस्या के अलावा यह ठीक काम करता है। अगर किसी के पास कोई सुझाव है तो मैं इसकी सराहना करता हूं, उम्मीद है कि मैं वास्तव में कुछ स्पष्ट नहीं कर रहा हूं। मैं मानता हूं कि रीडायरेक्ट से दूर नहीं है।

धन्यवाद।

उत्तर

4

इसके लिए कोई कामकाज नहीं है। डिफ़ॉल्ट @ कनवर्सेशनस्कोप पूरी तरह टूटा हुआ है। मैं इसके बजाय MyFaces CODI से @ConversationScoped का उपयोग कर रहा हूं। यह उन सभी समस्याओं को हल करता है जो आप मानक दायरे से प्राप्त कर सकते हैं।

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