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
Ich möchte %
als val1
übergeben. Aber wenn ich das mache, gibt das folgende Stück Code null zurück:
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.
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.
Tags und Links java forms spring-mvc servlets urldecode