2009-03-16 19 views
11

में बैक कमांडबटन एक वर्कबटन के रूप में बैक-बटन को कैसे कार्यान्वित करेगा जो सार्वभौमिक रूप से काम करता है? बैक बटन के साथ मेरा मतलब ब्राउज़र-बटन नहीं है, बल्कि एक बटन जो पृष्ठ पर कहीं भी बैठता है। पोस्ट-रीडायरेक्ट-पैटर्न प्राप्त करना हमेशा संभव नहीं होता है।जेएसएफ

बटन को इंगित करने वाले प्रत्येक एकल पर जानकारी के चारों ओर जाने के लिए यह काफी अव्यवहारिक है।

क्या एक नेविगेशन नियम के लिए शायद एक आरक्षित कीवर्ड है जो अंतिम नेविगेशन नियम को इंगित करता है?

उत्तर

15

मैं इस मामले में onclick="history.go(-1)" विशेषता के साथ h:commandLink का उपयोग करता हूं। यह सार्वभौमिक रूप से काम करता है।

+1

उम्मीद कर रहा था कि यह मेरी मदद करेगा, लेकिन एच: कमांड बटन के साथ काम नहीं करता है। :-( –

+3

क्या आपको वास्तव में इसके लिए एक जेएसएफ टैग का उपयोग करने की आवश्यकता है? यदि नहीं, तो <इनपुट प्रकार = "बटन" onclick = "history.go (-1)" /> के साथ प्रयास करें। यह काम करेगा। – alexmeia

+0

ऐसा लगता है वर्तमान पृष्ठ को रीफ्रेश करें, जिसे अब प्रदर्शित नहीं किया जा रहा है, इसलिए किसी भी प्रबंधित प्रॉपर्टीज को शून्य सूचक अपवाद मिलेगा। कोई विचार यह कैसे रोकें? –

3

मेरा पहला विचार:

हर

<h:commandLink .....> 

और आदि पर

; एक बीन, या यहां तक ​​कि एक ढेर में नेविगेशन स्ट्रिंग को स्टोर करें, और उसके बाद बैक बटन इसे पुनर्प्राप्त कर सकता है और चेहरे-config.xml

दूसरा विचार के अनुसार इसे वापस कर सकता है।

लेकिन प्रतिबिंब पर आपको नेविगेशन कमांड को रोकने और उन्हें एक स्टैक पर धक्का देने के लिए फ़िल्टर को ओवरराइड या उपयोग करना चाहिए। फिर बैक बटन सिर्फ नेविगेशन को बंद कर सकता है और आप जा सकते हैं।

1

मैं नेविगेशन स्ट्रिंग को एक स्टैक डेटाटाइप में संग्रहीत करता हूं और आप यह दिखाने के लिए stack.peek() का उपयोग करते हैं कि आपके पीछे कौन सी साइट है, और जब इसे क्लिक किया गया तो आप एक एक्शन इवेंट को आग लगाते हैं जो stack.pop()

को ट्रिगर करता है
1

आप उपयोग कर सकते हैं:

<p:commandButton onclick="window.history.back();"/> 

कि अनुदेश onclick="history.go(-1)" जो alexmeia ने कहा है के रूप में ही है।

+0

कमांड बटन का उपयोग करने का खराब तरीका। या तो 'पी: बटन' का उपयोग करें या इसमें 'type = "बटन जोड़ें। इसके लिए प्राइमफ़ेस दस्तावेज़ देखें! – Kukeltje