Automatic GWT ClientBundles на основе дисковых файлов

StackOverflow https://stackoverflow.com/questions/3895504

  •  29-09-2019
  •  | 
  •  

Вопрос

Я сейчас хорошо использую 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

Я закончил следовать Этот совет: Выполните файловые операции на сервере, а затем верните список данных файла (META) через вызов RPC.

Это оказывается довольно простым, а также позволяет мне возвращать легкие ссылки (имена файлов) в списке, которые я использую для заполнения Tree сторона клиента; Когда пользователь нажимает TreeItem Фактическое текстовое содержимое загружается.

Другие советы

Есть Автоматический генератор за CssResource - Может быть, вы могли бы посмотреть его код и изменить его на ваши потребности?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top