我正在尝试在这里对输入表单数据进行编码。有两种选择,我都尝试过:
- 使用
URLencoder.encode(inputString)
在 GWT 客户端不起作用的方法(我的代码驻留在客户端模块中)导致错误“您忘记继承所需的模块吗?” URL.encodeQueryString(inputString)
效果很好,但是当我使用 JUnit 运行相关测试用例时,我得到的只是unsatisfiedlinkederror
编码方法是否有任何替代方法,或者上述方法是否有任何解决方法?
对于您的第二个选项:GWT 使用模块并且需要编译,这与运行简单的 JUnit 测试不同。看看http://www.gwtproject.org/doc/latest/DevGuideTesting.html,他们解释了如何设置 JUnit 测试。
只需使用URL
类及其方法:
不要忘记继承所需的模块<inherits name="com.google.gwt.http.HTTP"/>
。
对于 URL 构建,我使用“UrlBuilder”:com.google.gwt.http.client.UrlBuilder
UrlBuilder u = new UrlBuilder();
u.setProtocol("https");
u.setHost("www.mysite.com:8080");
u.setPath("/myServletPath");
u.setParameter("username", nameField.getValue());
u.setParameter("someAttribute", "itsValue");
u.buildString();
此代码将导致: https://www.mysite.com:8080/myServlet?username=GWT%20User&someAttribute=itsValue