我使用RequestBuilder从GWT客户端代码调用servlet。
在请求(POST)中,我传递了一些请求数据
builder.sendRequest(postData,new RequestCallback()....
在postData中我有一个名为“returnToUrl”的url参数
这个“returnToUrl”有url参数,就像这样
returnToUrl = "http://my.server/add?pn=a&pd=b";
当我将它传递给servlet时,第二个(以及后面的)参数(在我的例子中为pd = b)被解释为servlet的请求参数,而不是returnToUrl参数的一部分,因此会丢失...
它正在进行URL编码,但当然不会改变'?'和'&'字符。
非常感谢任何帮助!
答案 0 :(得分:4)
您需要在GWT中对数据进行编码。
看一下URL类来做到这一点: http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/http/client/URL.html
特别是在encodeQueryString,它基本上与javascript中的encodeURIComponent具有相同的行为。