2011-08-09 10 views
5

मैं ताज़ा करने पर डबल पोस्ट से बचने के लिए की जरूरत है। तो मैं POST/Redirect/GET पैटर्न (faces-redirect=true) और नेविगेशन हैंडलर (@ बालुससी द्वारा) this post में उपयोग कर रहा हूं। जेएसएफ 2.0 में उस पैटर्न का उपयोग कैसे करें जब एक्शन विधि null (उसी पृष्ठ पर रहें) लौटाएं? क्या यह भी संभव है या मुझे कुछ अन्य चीज़ों का उपयोग करने की आवश्यकता है जो पोस्ट/रीडायरेक्ट/प्राप्त करें? मुझे जिंदा एक दृश्य-स्कोप्ड बीन रखने की जरूरत है, इसलिए एक्शन विधि में लौटने पर एक ही दृश्य (पीआरजी काम करता है) एक समाधान नहीं है (कारण view scope खो गया है)।JSF 2.0: पोस्ट/रीडायरेक्ट/प्राप्त पैटर्न जब कार्रवाई विधि वापसी अशक्त (एक ही पृष्ठ पर रहने)

दृश्य test.xhtml:

<h:commandButton action="#{bean.send}"/> 

सेम:

@ManagedBean 
@ViewScoped 
class Bean { 
    String send() { 
     // do something... 
     return null; 
    } 

    String send2() { 
     // do something... 
     return "test"; // view scope lost 
    } 
} 
+0

हाय, क्या आप उस उपयोग के मामले का उदाहरण दे सकते हैं जिसे आप हल करने का प्रयास कर रहे हैं? –

+0

क्या आपने कभी यह पता लगाया है? – edhedges

उत्तर

0

Marioosh।

  • रीडायरेक्ट किसी गैर-चेहरे रिस्पांस (धारा JSF -2 कल्पना की 2.1) का कारण बनता है:

    पोस्ट/रीडायरेक्ट/प्राप्त करें दो जीवन चक्र परिदृश्यों का कारण बनता है।

  • प्राप्त एक गैर चेहरे का अनुरोध एक रिस्पांस (धारा 2.1.1) चेहरे के साथ कारण बनता है। इस परिदृश्य में एक नया दृश्य बनाया गया है।

0

कुछ ढांचे डिफ़ॉल्ट रूप से इस रणनीति को लागू करते हैं: उदाहरण के लिए स्प्रिंग वेबफ्लो। प्रत्येक सबमिट (POST) के बाद एक पैरामीटर "निष्पादन" के साथ रीडायरेक्ट प्राप्त होता है जिससे स्प्रिंग को समान दृश्य मिल सके। उदाहरण के लिए :

http://myhost:8080/booking-spring-faces/spring/mypage?execution=e1s2 

मैं BalusC से Omnifaces तरह JSF उपकरणकिटें में इस सुविधा का पता लगाने के लिए प्यार होता!

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