代码之家  ›  专栏  ›  技术社区  ›  George Armhold

基于磁盘文件的自动GWT客户端包

  •  3
  • George Armhold  · 技术社区  · 14 年前

    我现在很好地利用了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 文档明确地说,“提供文件系统抽象”不是目标,所以不幸的是,这似乎不允许我尝试做什么。

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

    2 回复  |  直到 14 年前
        1
  •  1
  •   Igor Klimer    14 年前

    有一个 automatic generator 对于 CssResource -也许你可以看看 its code 根据你的需要修改?

        2
  •  0
  •   George Armhold    14 年前

    我最后跟着 this advice :在服务器上执行文件操作,然后通过RPC调用返回文件(元数据)数据列表。

    这非常简单,还允许我在列表中返回轻量级引用(文件名),我使用它来填充 Tree 客户端;当用户单击 TreeItem 将下载实际的文本内容。

    推荐文章