Abfragezeichenfolge wird von Spring Framework decodiert

8

Ich habe ein komisches Problem hier, nicht sicher, ob das der Fehler ist. Das Projekt läuft unter Spring Framework.

Die Ansicht:

%Vor%

Controller mappen auf someUrl.htm mit SimpleUrlHandlerMapping

%Vor%

Ich möchte % als val1 übergeben. Aber wenn ich das mache, gibt das folgende Stück Code null zurück:

%Vor%

catalina.out zeigt:

  

WARNUNG: Parameter: Die Zeichenerkennung ist fehlgeschlagen. Der Parameter 'val1' mit dem Wert '%' wurde ignoriert.

Ich finde heraus, dass Spring die Abfragezeichenfolge entschlüsselt und request.getQueryString() gibt val1=% , aber nicht val1=%25 zurück.

Wie kann ich UrlDecoding hier verhindern?

Ist das ein Fehler? Bitte beachten Sie, dass urlDecode Parameter auf false gesetzt ist.

Irgendwelche Ideen, um das Problem zu umgehen, weil ich wirklich Zeichen wie %&= benutzen muss.

    
Sqeezer 30.01.2012, 17:58
quelle

2 Antworten

1

Was Sie tun müssen, ist nicht Spring 'Parameterkarte. Erstellen Sie einen Filter, der die Abfragezeichenfolge in ihrem Rohformat liest, sie selbst dekodiert, die benötigten Werte abruft und sie zu einer Bean hinzufügt, die später bei Bedarf gelesen werden kann. Ich bin vage darüber, wie man den letzten Teil macht, weil Spring 2.0.5 alt ist und alles, was ich dir sage, funktioniert möglicherweise nicht in dieser Version. Ein Objekt im Sitzungsumfang sollte in Ordnung sein.

    
user785262 25.02.2012 17:12
quelle
0

Ich bekomme das gleiche Problem. Allerdings kann ich die richtige Codierung in der request.getQueryString ().

finden     
Ojitha 02.07.2015 02:20
quelle