我正在使用带有Google Toolkit的eclipse,我创建了一个带有列表框,垂直分割面板和几个按钮的小部件。我想要做的是在列表框中列出的本地目录中有一个文件列表,我希望能够单击一个文件并将其显示在拆分面板的顶部。我发现了关于浏览器和文件IO的困难方法,而且无法使用java.io.File。
我有什么选择?我可以将数据文件放在jar或其他东西中,让小部件以这种方式读取它吗?我需要将其作为测试运行,以实现处理数据的新功能。它不会是任何类型的最终服务器托管应用程序,我不关心将来如何加载实际文件。
任何建议都将不胜感激。
尊敬, DemiSheep
答案 0 :(得分:1)
使用JUnit创建测试用例!
这是官方Google网站,介绍使用JUnit和varios测试方法进行测试:Google Web Toolkit: Testing。你肯定在这里找到了解决方案^^
答案 1 :(得分:1)
如果您只需要一个硬编码的值列表来直观地测试您的窗口小部件,您可以简单地将这些值放在一个String数组中并从那里加载它。或者您可以使用RequestBuilder从服务器http GET字符串。您可以在war目录中保留一个简单文件(CSV,XML,JSON等),并使用“请求”构建器加载此文件。
来自GWT developer guide的示例代码:
import com.google.gwt.http.client.*;
...
String url = "http://www.myserver.com/getData?type=3";
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
try {
Request request = builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// Couldn't connect to server (could be timeout, SOP violation, etc.)
}
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
// Process the response in response.getText()
} else {
// Handle the error. Can get the status text from response.getStatusText()
}
}
});
} catch (RequestException e) {
// Couldn't connect to server
}
确保继承HTTP模块:
<inherits name="com.google.gwt.http.HTTP" />
答案 2 :(得分:0)
说到GWT,没有这样的东西作为.jar文件发送到浏览器。
获取文件最简单的方法是
记住适用于GWT的同源政策,因为它是所有javascript限制的基础