JSF を使用した Spring Web Flow について質問があります。Spring Web Flow に、Tomcat Web アプリケーションのクラスパスにある jar からview="pages/view.xhtml"のような相対ビューをロードできるようにするにはどうすればよいですか? Google で調査した結果、Web Flow はそのままではこのコンスタレーションをサポートしていないと思います。
私の質問を理解するのを助けるために、おそらくいくつかのコンテキストがあります:クラスパスの jar、つまり、ファイル リソース フローはWEB-INF/conf のどこかにあり、jar ファイル内の同じ位置にあります。- フロー定義のビューは、フロー定義ファイルに対して相対的にアドレス指定されます
ここで、流れが存在できる場所に両方の星座があるのはなぜかという疑問を抱くかもしれません。現時点では、特定のドメインに属するすべての機能を含む多数の webapp モジュールから抽出しようとしています。このアプローチは、関連するすべてのアーティファクトを単一のプロジェクト内にバンドルし、jar としてビルドしてから webapp に追加することです。
構成ファイルがどこにあるかを知らなくても、各 jar の Spring Bean をロードしても問題はありませんが、Web フローはいくつかの問題を引き起こします。
最初の問題は、flowRegistry が事前に何かを行わないと分割できないモノリスであることです。この問題は、カスタム フロー レジストリによって解決されます。
しかし、ここで 2 番目の問題に直面しました。ビュー ステート内では、ドキュメントに記載されているように、フロー定義に対して相対的にページを参照します。
<view-state id="some-id" view="pages/somepage.xhtml"> ... </view-state>
現在、このようなビュー ステートに入ると、Web フローが例外をスローし、この方法はサポートされていないことがわかります。
A ContextResource is required to get relative view paths within this context;
the resource was ...
グーグルで検索すると、この可能な解決策が見つかりました: jar 内の webflows の回避策
しかし、複数のフロー レジストリに問題があるため、この回避策は機能しません。
別のオプションは、すべてを瓶に入れないことかもしれませんが、それがより良い考えかどうかはわかりません. jar 内のクラスパスからロードできるすべてのものと、定義された構造内の純粋なファイルとしての残りを持っている可能性があります。
何か案は?あなたの努力とヒントに感謝します。