У меня есть вопрос относительно Spring Web Flow с JSF: как я могу научить Spring Web Flow уметь загружать относительные представления, такие как view = "pages / view.xhtml" из jar-файла в classpathвеб-приложение кота?После некоторого исследования через Google я думаю, что Web Flow не поддерживает это созвездие из коробки.
Может быть, какой-то контекст, чтобы помочь понять мой вопрос: - Потоки зарегистрированы в нескольких FlowRegistries (я решил эту проблему с помощьюреализация пользовательской реализации, которая находит все flowRegistries в контексте Spring) - Потоки могут находиться либо как файловый ресурс за пределами classpath, либо как jar в classpath, т.е. потоки ресурсных файлов расположены где-то в WEB-INF / conf и они находятся в одной и той же позиции в файлах jar.- Представления в определениях потока адресованы относительно файла определения потока
Теперь вы можете задать вопрос, почему у нас есть оба созвездия, в которых могут находиться потоки.В данный момент мы пытаемся извлечь из большого количества модулей веб-приложения, которые содержат все функции, принадлежащие определенному домену.Подход заключается в объединении всех относящихся к нему артефактов в рамках одного проекта, который затем можно создать как jar и затем добавить в веб-приложение.
Хотя загрузка компонентов Spring для каждого jar не составляет проблемы, не зная, где находится наша конфигурацияфайлы расположены, веб-поток вызывает некоторые проблемы.
Первая проблема заключалась в том, что flowRegistry - это монолит, который нельзя разделить, не выполнив что-либо заранее.Эта проблема решается с помощью пользовательского реестра потоков.
Но теперь я подошел ко второй проблеме: в состояниях представления мы ссылаемся на страницы относительно определения потока, как описано в документации :
<view-state id="some-id" view="pages/somepage.xhtml"> ... </view-state>
Теперь, когда я вхожу в такое состояние просмотра, веб-поток выдает исключение, которое говорит мне, что этот способ не поддерживается:
A ContextResource is required to get relative view paths within this context;
the resource was ...
Поиск в Google выдвинул эту возможностьРешение: Обходной путь для веб-потоков в банках
Но этот обходной путь не работает, так как у него есть проблема с несколькими регистрами потоков.
Другой вариант может быть не помещать всев банку, но я не уверен, что это лучшая идея.Скорее всего, есть все, что может быть загружено из classpath в банке, а остальные как чистые файлы в определенной структуре.
Есть идеи?Большое спасибо за ваши усилия и советы.