2011-11-08 15 views
2

私はRequestBuilderを使用してGWTクライアントコードからサーブレットを呼び出しています。 POSTDATAでGWTのurlパラメータとして "url with parameters"を渡すには

リクエスト(POST)で、私は

builder.sendRequest(POSTDATA、新しいRequestCallback()いくつかのリクエストデータを渡しています....

私は「returnToUrlと呼ばれるURLパラメータを持っています「

この 『returnToUrlは』 PARAMET URLパラメータを持っている、と私は、第二(以降)サーブレットに渡した場合、この

returnToUrl = "http://my.server/add?pn=a&pd=b"; 

ようになりますers(例ではpd = b)は、returnToUrlパラメータの一部ではなく、サーブレットのリクエストパラメータとして解釈されるため、紛失してしまいます....

URLエンコードされていますが、 '?'と '&'文字を変更してください。

ご迷惑をおかけして申し訳ありません。

+0

URLエンコーディングの定義によって異なります。たとえば、JavaScriptには、不正なURI文字をエンコードするencodeURIと、パラメータとして使用できる文字列をエンコードするencodeURIComponentという2つのメソッドがあります。 – Neil

+0

GWTでURL.encode()を使用しています。これは最初の例に対応しています。 encodeURIComponentのGWTクラス/バインディングはありますか?もしそうでなければ、私はそれを行うためにJSNIを書くでしょう... –

答えて

4

GWTでデータをエンコードする必要があります。

これを行うには、URLクラスを見てみましょう: http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/http/client/URL.html

escpecially encodeQueryStringで基本的にJavaScriptでencodeURIComponentで同じ動作を有しています。

+0

優れている、その作品。ダニエルありがとう。私は思う*私はURLのJavadocの古いバージョンを見ていた。いずれにせよ、私はその方法を見ていないし、それは命の恩人だ...もう一度ありがとう。 –

関連する問題