2010-05-04 12 views
6
<action name="actionA" class="com.company.Someaction"> 
<result name="success" type="redirect-action"> 
    <param name="actionName">OtherActionparam> 
    <param name="paramA">${someParams}</param> 
    <param name="paramB">${someParams}</param> 
    <param name="aBoatLoadOfOtherParams">${aBoatLoadOfOtherParams}</param> 
</result> 
</action> 

उपर्युक्त क्रिया मानचित्र में, मैं कुछ एक्शन से अन्य एक्शन में रीडायरेक्ट कर रहा हूं। मुझे समस्याएं हैं, क्योंकि दुर्भाग्य से मुझे दो कार्यों के बीच बड़ी मात्रा में डेटा पारित करने की आवश्यकता है। आईई 7 केवल जीईटी अनुरोधों को 2k की तरह होने की अनुमति देगा, इसलिए जब मैं प्रतिक्रिया को कॉल करता हूं तो प्रतिक्रिया उस समय से अधिक हो जाती है जब प्रतिक्रिया दूसरी कार्रवाई के लिए अनुरोध करती है।क्या आप GET के बजाय POST का उपयोग कर स्ट्रेट्स 2 एक्शन रीडायरेक्ट कर सकते हैं?

क्या यह मेरे लिए इस रीडायरेक्ट को सेट करना संभव है, अन्य कार्रवाई में पोस्ट किए जाने वाले पोस्ट के साथ समाप्त हो सकता है?

उत्तर

6

docs राज्यों के रूप में:

[एक पुनर्निर्देशन के बाद] डेटा पास करने के लिए एक ही रास्ता सत्र के माध्यम से या वेब मानकों (? यूआरएल नाम = मूल्य) [यानी, एक प्राप्त करने के लिए क्वेरी स्ट्रिंग के साथ है अनुरोध]

शायद action chaining के लिए एक मामला? मुझे यकीन नहीं है, और आमतौर पर इसकी अनुशंसा नहीं की जाती है, लेकिन ऐसा लगता है कि आप परिदृश्य असामान्य है, इसलिए यह देखने के लिए भुगतान कर सकता है।

इस मामले में, हम वास्तव में पुनर्निर्देशन नहीं कर रहे हैं, यानी, हम ग्राहक के पास वापस नहीं जा रहे हैं, लेकिन सर्वर के अंदर सबकुछ रखते हैं। माना जाता है कि, फिर पूर्ण इंटरसेप्टर स्टैक को फिर से निष्पादित किया जाता है - और पोस्ट किए गए डेटा को नई कार्रवाई पर असर पड़ना चाहिए, एक उम्मीद करेगा ...

+0

आपकी मदद के लिए धन्यवाद। मैं एक्शन चेनिंग का प्रयास करने जा रहा हूं। – Andy

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