我使用RequestBuilder从GWT客户端代码调用servlet。如何在GWT中传递“带参数的url”作为url参数
在请求(POST)我传递一些请求数据
builder.sendRequest(POSTDATA,新RequestCallback()....
在POSTDATA我有一个名为的URL参数“returnToUrl “
这种 ”returnToUrl“ 具有URL的参数,并且会是这样
returnToUrl = "http://my.server/add?pn=a&pd=b";
当我将它传递给servlet,第二(或更高版本)PARAMET ers(pd = b,在我的例子中)被解释为servlet的请求参数,而不是作为returnToUrl参数的一部分,因此会丢失....
它被URL编码,但当然, t改变'?'和'&'字符。
任何帮助非常感谢!
这取决于您对URL编码的定义。例如,JavaScript提供了两种方法:encodeURI(仅对非法URI字符进行编码)和encodeURIComponent(将字符串编码为可用作参数的东西)。 – Neil
我在GWT中使用了URL.encode(),它对应于你的第一个例子。是否有encodeURIComponent的GWT类/绑定?如果没有,我会写一个JSNI来做到这一点...... –