外部ソースからのヘッダーを表示するという特定の要件により、次のセットアップを考え出しました (Tomcat 7 で JEE6 を使用)。
私たちのページは定期的にテンプレートを使用しています:
...
<ui:composition ... template="/WEB-INF/templates/template.xhtml">
...
このテンプレートは、ページ構造のレイアウトに加えて、本体に別の XHTML ファイルを含みます。
...
<h:body>
<ui:include src="./header.xhtml" />
...
そして、インクルードされたファイルは再びテンプレートを使用しますが、今回は、<div>
使用されるヘッダーを含む要素を返す外部リソースを指しています。
...
<ui:composition ... template="http://someserver/somefile">
...
このセットアップが少し奇妙であることはわかっていますが、<div>
ページに含めなければならなかった外部生成要素を含めるために、間接化が必要でした。(誰かが与えられた問題に対してよりスマートな解決策を提供できる場合、私は喜んでいます。)
これはこれまでのところ問題なく動作しますが、このインクルード ファイルが Tomcat によってキャッシュされ、変更後に現在のヘッダーが表示されないことが原因のようです。Tomcat が再起動されると、新しいヘッダーが表示されます。
これが内部でどのように機能するのか、それが Facelets、Tomcat、または私の特定のセットアップに関連している場合、誰かが私にいくつかの洞察を与えることができますか?