【发布时间】:2011-02-12 02:12:48
【问题描述】:
我正在使用 GWT 编写网页。现在我需要读取一个文本文件并在网页中显示内容,但不知道如何使用 GWT。
如果 GWT 中有任何方法可以读取 .properties 文件,那就太好了。 (请注意,这不是GWT已经支持的本地化属性文件)
请问有人有什么想法吗?
谢谢。
【问题讨论】:
我正在使用 GWT 编写网页。现在我需要读取一个文本文件并在网页中显示内容,但不知道如何使用 GWT。
如果 GWT 中有任何方法可以读取 .properties 文件,那就太好了。 (请注意,这不是GWT已经支持的本地化属性文件)
请问有人有什么想法吗?
谢谢。
【问题讨论】:
您可以使用RequestBuilder在您的 GWT 应用中读取文件
new RequestBuilder(RequestBuilder.GET, "path/to/file.txt").sendRequest("", new RequestCallback() {
@Override
public void onResponseReceived(Request req, Response resp) {
String text = resp.getText();
// do stuff with the text
}
@Override
public void onError(Request res, Throwable throwable) {
// handle errors
}
});
【讨论】:
.htaccess 等) - 只要文件是公开可用的,您就可以通过 RequestBuilder 获取它。如果您不想将您的文件公开给所有人,您可以编写一个 servlet(或类似的服务)来访问存储在服务器上的文件(这些文件不公开 - 仅对例如注册用户) )。您可以通过多种方式配置服务器 - 仅向 localhost 提供文件,从某些非 www 文件夹中读取文件等。
如果文本文件是您的 GWT 项目的一部分,您可以将其包含在 ClientBundle 中。如果它不是您项目的一部分,那么 RequestBuilder 听起来是正确的答案。
我发布了一个简单的example project 来展示如何使用 ClientBundle。
String greetings = Assets.INSTANCE.greetings().getText();
final Greeter greeter = new Greeter();
greeter.loadGreetings(Arrays.asList(greetings.split("\\n")));
【讨论】: