BalusCさん(他に誰ですか?)投稿を確認するためのKukeltjeの提案Obtaining Facelets templates/files from an external filesystem or databaseが回答でした。すべては、以下の使用をロードされているページに含まれて一覧表示するために、そう
:私はここにJSF 2.1を使用していたよう
は私のソリューションです:
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.faces.FacesException;
import javax.faces.view.facelets.ResourceResolver;
import org.jboss.seam.log.Log;
import org.jboss.seam.log.Logging;
public class FacesResourceResolver extends ResourceResolver {
private ResourceResolver parent;
public FacesResourceResolver(ResourceResolver parent) {
this.parent = parent;
}
private static final Log log = Logging
.getLog(FacesResourceResolver.class);
@Override
public URL resolveUrl(String path) {
URL url = parent.resolveUrl(path);
log.info("Resource #0", path);
return url;
}
}
とWebに以下を追加します。 .xml
<context-param>
<param-name>javax.faces.FACELETS_RESOURCE_RESOLVER</param-name>
<param-value>com.locuslive.odyssey.developer.FacesResourceResolver</param-value>
</context-param>
出典
2017-05-24 13:57:03
Ben
次は不可能(私は思う)。あなたは、例えば、 'ui:include'にはいくつかのダイナミクスがあります。テンプレートが使われていて、そこで使われているものを見たら...私には難しいと思う。しかし私は質問として私にしてください:なぜあなたはしたいですか?非常に珍しいことです(15年ぶりに) – Kukeltje
RichFacesからPrimeFacesに大きなJSFアプリケーションを移行しています。何年もの間、たくさんのxhtmlファイルとデッドコードが蓄積されています。だから、特定の「メイン」ページのためにどのファイルを変換する必要があるのかを知ることは良いことです。 – Ben
私は今朝考えました。おそらく、基本/デフォルトを拡張するカスタムResourceResolverを作成し、それが解決しようと試みる(そして元のリゾルバにリクエストを渡す)「URL」と任意のxhtmlファイルを記録するかもしれません。 http://stackoverflow.com/questions/13292272/object-facelets-templates-files-from-an-external-filesystem-or-database – Kukeltje