मैं दृश्य घटक के रूप में Freemarker के साथ एक वसंत-MVC आवेदन किया है।मैं एक URL पैरामीटर में एक हैश कुंजी कैसे सबमिट करूं?
मेरे टेम्पलेट्स में, कई लिंक जेनरेट किए जाते हैं जो मेरे एप्लिकेशन पर वापस इंगित करते हैं और जिसमें हैश कुंजी (#
) वाले यूआरएल पैरामीटर शामिल हैं।
उदाहरण:
पैरामीटर: Q#106368 11
यूआरएल एन्कोडेड परम Freemarker द्वारा उत्पन्न: testurl.html?key=Q%23106368%2011
मैं जावास्क्रिप्ट का उपयोग इस URL (कारण पर रीडायरेक्ट करने: मैं जे एस 2 फ्रेम की लोडिंग का प्रबंधन करने के लिए उपयोग एक ही समय में)। ,
function redir(url) {
window.location.href = url;
}
जे एस Freemarker द्वारा उत्पन्न कॉल लग रहा है मेरे समस्या
तरह<a href="javascript:redir('http://localhost:8080/testappp/testurl.html?key=Q%23106368%2011');">test</a>
कि ब्राउज़र/जावास्क्रिप्ट वापस धर्मान्तरित यूआरएल इनकोडिंग पैरामीटर है सोचता है:
रीडायरेक्ट विधि सरल है एक #
और वहाँ बंद कटौती।
जब मैं window.location.href='http://...'
का उपयोग करता हूं तो यह सीधे काम करता है। केवल विधि पैरामीटर का उपयोग करते समय यह जादुई रूप से यूआरएल डीकोड किया जाता है और फिर रीडायरेक्ट विफल रहता है क्योंकि यूआरएल #
पर काटा जाता है।
क्या पैरामीटर को सही ढंग से प्रेषित करने का कोई आसान तरीका है?
मुझे पता है कि मैं #
को प्रतिस्थापित कर सकता हूं, उदा। $$$hash$$$
, टेम्पलेट में साथ और फिर सर्वर साइड पर प्रतिस्थापन है। लेकिन ऐसे कई स्थान हैं जिन्हें मुझे बदलना होगा ...
है माना। कोई भी ब्राउज़र जो * * इस भागने को वापस परिवर्तित करता है, बकवास का एक गंभीर टुकड़ा होगा। –
यही है, लिंक स्थान की प्रतिलिपि बनाएँ या सीधे कोड से इसका निरीक्षण करें। –
आपके उत्तर के लिए धन्यवाद। मैंने एक नजदीकी नजर डाली और मैं एक विवरण का उल्लेख करना भूल गया जो बहुत महत्वपूर्ण है लेकिन मैंने कभी सोचा नहीं कि यह होगा। मैं जावास्क्रिप्ट रीडायरेक्ट विधि का उपयोग करता हूं और यह तब होता है जब मैं इस विधि का उपयोग करता हूं। जब मैं ब्राउज़र में यूआरएल कॉपी और पेस्ट करता हूं तो यह ठीक काम करता है। तो यह जावा/स्प्रिंग/ब्राउज़र समस्या नहीं है, यह एक जावास्क्रिप्ट मुद्दा है। मैंने तदनुसार सवाल अपडेट किया है। – tvirtualw