У меня есть вопрос относительно Spring Web Flow с JSF: как я могу научить Spring Web Flow иметь возможность загружать относительные виды, такие как view = " pages/view.xhtml " из jar в пути к классам tomcat webapp? После некоторых исследований через google, я думаю, что Web Flow не поддерживает это созвездие из коробки.Относительные представления в состояниях представления в потоке, загружаемом из jar-файла
Может быть, некоторый контекст, чтобы помочь понять мой вопрос: - потоки регистрируются в нескольких FlowRegistries (я решил эту проблему путем реализации пользовательской реализации, которая находит все flowRegistries в весеннем контексте) - Потоки могут находиться либо в виде файла ресурс за пределами пути к классам или внутри jar в пути к классам, то есть потоки потока файла расположены где-то в WEB-INF/conf, и они находятся в одной и той же позиции в файлах jar. - Представления в определениях потока адресуются относительно файла определения потока
Теперь вы можете задать вопрос, почему у нас есть обе созвездия, где могут находиться потоки. На данный момент мы пытаемся извлечь из большой группы модулей webapp, которые содержат всю функциональность, принадлежащую определенному домену. Подход состоит в том, чтобы объединить все артефакты, имеющие отношение к ним в рамках одного проекта, который может быть построен как jar и затем добавлен в webapp.
Хотя нет никакой нагрузки на загрузку весенних бобов для каждой банки, не зная, где находятся наши файлы конфигурации, веб-поток вызывает некоторые проблемы.
Первой проблемой было то, что flowRegistry является монолитом, который нельзя разделить, не делая ничего перед собой. Эту проблему решает пользовательский реестр потоков.
Но теперь я пришел к второй проблеме: в поле зрения государств мы ссылаемся на страницах относительно определения потока, как описано в documentation:
<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 ...
Googling вокруг воспитан это возможное решение: workaround for webflows in jars
Но это обходное решение не работает, так как оно имеет проблемы с моими многочисленными реестрами потоков.
Другой вариант может заключаться в том, чтобы не помещать все в банку, но я не уверен, что это лучшая идея. Вероятно, есть все, что может быть загружено из classpath в банке, а остальное - как чистые файлы в определенной структуре.
Любые идеи? Большое спасибо за ваши усилия и намеки.