द्वारा डीकोड किया गया है, मुझे यहां एक अजीब समस्या है, भले ही यह बग है या नहीं। परियोजना स्प्रिंग फ्रेमवर्क के तहत चल रही है।क्वेरी स्ट्रिंग को स्प्रिंग फ्रेमवर्क
दृश्य: someUrl.htm
को
<form method="GET" action="someUrl.htm" enctype="application/x-www-form-urlencoded" >
<label>Label</label>
<input name="val1" value="${val1}" />
...
<!-- submit button here -->
</form>
नियंत्रक mappend SimpleUrlHandlerMapping
<bean id="parameterMethodNameResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="methodParamNames">
...
</bean>
<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlDecode" value="false" />
<property name="mappings">
<props>
<prop key="**/someUrl.htm">someController</prop>
</props>
</property>
</bean>
का उपयोग कर रहा %
val1
के रूप में पारित करने के लिए चाहते हैं। लेकिन जब मैं यह कर रहा हूँ, कोड का निम्न भाग अशक्त रिटर्न:
request.getParameter("val1");
catalina.out पता चलता है:
चेतावनी: पैरामीटर: चरित्र डिकोडिंग विफल रहा है। मूल्य '%' के साथ पैरामीटर 'val1' को अनदेखा कर दिया गया है।
मुझे लगता है कि वसंत क्वेरी स्ट्रिंग और request.getQueryString()
रिटर्न val1=%
नहीं बल्कि val1=%25
डीकोड पता लगाना।
UrlDecoding को यहां कैसे रोकें?
क्या यह एक बग है? कृपया ध्यान दें कि urlDecode
पैरामीटर false
पर सेट है।
इस मुद्दे को हल करने के लिए कोई भी विचार, क्योंकि मुझे वास्तव में %&=
जैसे वर्णों का उपयोग करने की आवश्यकता है।
आप किस वसंत संस्करण का उपयोग कर रहे हैं? – ustun
वसंत संस्करण 2.0.5 है। – Sqeezer
क्या आप पात्रों को एन्कोड नहीं कर सकते हैं? http://www.ietf.org/rfc/rfc2396.txt% escaped अनुक्रम प्रारंभ करने के रूप में% को परिभाषित करता है, इसका पालन न करने से शायद आपको समस्याएं आती हैं। –