Burada bir sorun var, bunun hata olup olmadığından emin değilim. Proje, Spring Framework altında çalışıyor.Sorgu Dizesi, Spring Framework tarafından çözülür
görünüşüdür:
<form method="GET" action="someUrl.htm" enctype="application/x-www-form-urlencoded" >
<label>Label</label>
<input name="val1" value="${val1}" />
...
<!-- submit button here -->
</form>
Kontrol mappend someUrl.htm
I val1
olarak %
geçmek istediğiniz 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>
kullanılmıştır. Bunu yapmamın Fakat aşağıdaki kod parçası null döndürür:
request.getParameter("val1");
catalina.out gösterir:
UYARI: Parametreler: Karakter başarısız olduğunda kod çözme. '%' Değerine sahip 'val1' parametresi göz ardı edildi.
Spring sorgu dizesi ve request.getQueryString()
döner val1=%
ancak val1=%25
deşifre öğrenmek.
UrlDecoding nasıl engellenir?
Bu bir hata mı? Lütfen urlDecode
parametresinin false
olarak ayarlandığını unutmayın.
Sorunu geçici olarak çözmek için herhangi bir fikir, çünkü gerçekten %&=
gibi chars kullanmanız gerekiyor.
Hangi Yay sürümünü kullanıyorsunuz? – ustun
Yay sürümü 2.0.5. – Sqeezer
Karakterleri kodlayamaz mısınız? http://www.ietf.org/rfc/rfc2396.txt ifadesi,% kaç tanımlı diziyi başlatmak olarak tanımlar; buna uymamak muhtemelen size sorun çıkarır. –