3

我目前在我的应用程序中充分利用了 GWT 的ClientBundles。它工作正常,但我有大量资源,为每个文件手动创建 Java 接口变得乏味:

@ClientBundle.Source("world_war_ii.txt")
public ExternalTextResource worldWarII();

@ClientBundle.Source("spain.txt")
public ExternalTextResource spain();

@ClientBundle.Source("france.txt")
public ExternalTextResource france();

我希望能够(可能在编译时)动态列出给定目录中的每个 *.txt 文件,然后可以在运行时访问它们,也许是一个数组ExternalTextResource[],而不是必须在我的代码。可能有数百个这样的资源,并且将它们手动枚举为代码将非常痛苦且无法维护。

ClientBundle文档明确表示“提供文件系统抽象”是一个非目标,所以不幸的是,这似乎不允许我尝试做的事情。

处理必须在运行时可用的大量外部资源的最佳方法是什么?发电机有用吗?

4

2 回答 2

1

有一个自动生成器-CssResource也许您可以查看它的代码并根据您的需要对其进行修改?

于 2010-10-09T17:19:36.910 回答
0

我最终遵循了这个建议:在服务器上执行文件操作,然后通过 RPC 调用返回文件(元)数据列表。

事实证明这相当简单,并且还允许我在列表中返回轻量级引用(文件名),我用它来填充Tree客户端;当用户点击一个TreeItem实际的文本内容被下载。

于 2010-10-09T18:07:49.883 回答