2009-03-05 12 views
21

मुझे ActionMessages के साथ कुछ समस्याएं आ रही हैं जो किसी क्रिया के निष्पादन के दौरान बनाई गई थीं, और मुझे पता चला कि मेरी समस्याएं मेरे आगे के कारण redirect=true स्ट्रैट्स-config.xml में थीं।स्ट्रैट्स में 'रीडायरेक्ट = सत्य' का उपयोग क्यों करें 1. * आगे?

डिफ़ॉल्ट व्यवहार redirect=false है, इसलिए मैं सोच रहा हूं कि redirect=true का उपयोग करने वाले कौन से लाभ हैं और मुझे कोई जवाब नहीं मिला। क्या किसी को पता है कि आगे और क्यों redirect=true कार्रवाई के लिए उपयोग किया जाना चाहिए?

उत्तर

31

पोस्ट करने के लिए 'डबल प्रस्तुत समस्या'

कभी जवाब में पृष्ठों को दिखा रोकता

हमेशा लोड प्राप्त का उपयोग कर पृष्ठों

नेविगेट पोस्ट रीडायरेक्ट

का उपयोग कर पाने के लिए

इस here औरपर और अधिक

24

रीडायरेक्ट ब्राउज़र पर एक प्रतिक्रिया भेजता है जो ब्राउज़र को नया अनुरोध करने के लिए मजबूर करता है। सर्वर के दृष्टिकोण से, ब्राउज़र सिर्फ एक नया अनुरोध करता है (यद्यपि स्वचालित रूप से)। एक रीडायरेक्ट से कुछ विशेषताओं:

  • मौजूदा मानकों और विशेषताओं निपटारा कर रहे हैं, एक नया अनुरोध पैरामीटर आप URL में निर्दिष्ट के साथ ही बना है।
  • नया यूआरएल ब्राउज़र में दिखाई देता है, उपयोगकर्ता इसे बुकमार्क कर सकते हैं।
  • यह ब्राउज़र और पीछे पर एक यात्रा लेता है, इसलिए यह धीमा हो सकता है।

सर्वर पर एक आगे होता है। ब्राउजर इसमें शामिल नहीं है। आगे की कुछ विशेषताओं:

  • नए पैरामीटर मौजूदा पैरामीटर जोड़े या ओवरराइट किए गए हैं। इसलिए मौजूदा पैरामीटर को अनुरोध से हटाया नहीं जा सकता है।
  • अनुरोध संदर्भ में सामग्री जोड़ा जा सकता है, यह उपलब्ध रहेगा। आप इस तरह से जानकारी पास कर सकते हैं।
  • ब्राउज़र में यूआरएल नहीं बदला गया है, ब्राउजर के लिए मूल पता बरकरार रहता है।
  • आप केवल उसी एप्लिकेशन में दूसरे यूआरएल को भेज सकते हैं।

तो यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं। एक आगे आम तौर पर तेजी से बोली जाती है। लेकिन यदि उपयोगकर्ता को नए स्थान को बुकमार्क करने में सक्षम होना चाहिए, तो यह एक विकल्प नहीं है।

0

यदि आप redirect="true" निर्दिष्ट करते हैं, तो स्ट्रैट्स क्लाइंट-साइड रीडायरेक्ट का उपयोग करता है [response.sendRedirect()]। जेएसपी को एक नए ब्राउज़र अनुरोध द्वारा बुलाया जाएगा, और पुराने अनुरोध में संग्रहीत कोई भी डेटा खो जाएगा।

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