Wie sollte ein GWT-kodierten query-parameter werden dekodiert der server-Seite?
Ich bin die Kodierung einer query-parameter unter Verwendung der GWT-com.google.gwt.http.client.URL.encode () - Methode gefunden wurden, aber ich kann nicht mit URL.decode() auf dem server zu entschlüsseln, da die Implementierung nicht verfügbar ist (ich vermute, es verwendet die javascript-client-seitige Implementierung). Ich bekomme...
java.lang.UnsatisfiedLinkError: com.google.gwt.http.client.URL.decodeImpl(Ljava/lang/String;)Ljava/lang/String;
Kann jemand empfehlen, was soll ich verwenden server-Seite zum Dekodieren der kodierten string?
- Ich habe das gleiche problem - eine Klasse, die ich schrieb dekodiert die Parameter als Teil der Funktionalität, und ich habe gespeichert die Parameter in meiner Datenbank. Später, auf der server-Seite, ich versuche zu schaffen, ein Objekt extrahiert aus diesen Parametern - die funktioniert tadellos client-Seite. Ich würde es vorziehen, um zu vermeiden, re-schreiben die Klasse, die bereits funktioniert perfekt... immer Noch auf der Suche eine Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich löste mein problem auf diese Weise: auf der client-Seite, die ich codieren die Parameter, die com verwenden.google.gwt.http.client.URL.encodeQueryString(), wie:
Auf der server-Seite, bekomme ich die Parameter mit den ServletRequest Methoden, wie:
PS ich anfangs +1 würde Riley Lark Antwort, aber dann ich habe einige Probleme mit einigen Zeichen zu... Lassen die ServletRequest den job tun, werden alle Zeichen die Kodierung für Sie.
Sehen Dekodierung internationale Zeichen in AppEngine
java.net.URLDecoder
ist implementiert auf AppEngine und funktioniert perfekt mit com.google.gwt.http.client.URL.encode().%
Zeichen kodiert%25
.Wenn Sie nicht bereit sind, zu verwenden gwt-rpc-können Sie verschlüsseln/entschlüsseln mit Base64. Überprüfen Sie dieser link für eine gwt Implementierung von Base64 encoder/decoder. Dann alles, was Sie tun müssen, ist Base64.encode(yourParameterValue) vor dem senden der Anfrage an den server und Base64.decode(request.getParameter(yourParameterName)) auf dem back-End direkt nach Erhalt der Anfrage.
prost!