2013-10-01 7 views
8

उसी पृष्ठ पर रीडायरेक्ट कैसे करें (मुझे पृष्ठ नहीं पता है; कई पृष्ठों द्वारा साझा किए गए मेनू के अंदर पुनर्निर्देशन किया जाता है)?POST अनुरोध के बाद उसी पृष्ठ पर रीडायरेक्ट कैसे करें

मैं कार्रवाई विधि के अंत में

return "?faces-redirect=true"; 

कोशिश की, लेकिन मैं एक त्रुटि संदेश प्राप्त है क्योंकि यह संभव के लिए? "सामना करना पड़ता है-रीडायरेक्ट = सच" एक नेविगेशन मामले को खोजने के लिए नहीं है।

आपकी मदद के लिए अग्रिम धन्यवाद।

उत्तर

18

आप परिणाम में एक वैध दृश्य आईडी की आपूर्ति और न केवल एक क्वेरी स्ट्रिंग की जरूरत है। आप वर्तमान दृश्य आईडी UIViewRoot#getViewId() द्वारा प्राप्त कर सकते हैं।

String viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId(); 
return viewId + "?faces-redirect=true"; 
-1

बस null या अपनी एप्लिकेशन कार्रवाई से खाली स्ट्रिंग वापस लौटें।

JSF2.2 कल्पना के अनुसार, खंड 7.4.1:

तो परिणाम आवेदन कार्रवाई द्वारा दिया शून्य या खाली स्ट्रिंग, और नेविगेशन मामलों है कि करने के लिए नक्शे में से कोई भी है वर्तमान दृश्य पहचानकर्ता के पास एक गैर-शून्य स्थिति अभिव्यक्ति है, वही दृश्य फिर से प्रदर्शित होना चाहिए।

+0

आपके पास एक शून्य विधि भी हो सकती है। यह और भी स्पष्ट है। यह वही है और पूरी तरह से काम करता है। – zmirc

+3

यह एक रीडायरेक्ट नहीं करता है। यह एक आगे करता है। – BalusC

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