JSF2.0のリソース管理メカニズムを使用しています。/ webapp / resourcesの下に、画像、スクリプト、スタイルの3つのサブフォルダーがあります。そして、私のテンプレートファイルmyLayout.xhtmlでは、次のようにスタイルシートを参照しています。
<h:outputStylesheet name="styles/styles.css"/>
次のように、すべての背景画像をstyles.cssファイルに配置します。
body {
background: #fff url(../images/body_background.png) repeat -x;
}
#header {
background: transparent url(../images/header_bg.png) no-repeat top right;
}
すべてのページのフェイスレットはサブフォルダー/webapp/ faceletsの下にあり、テンプレートファイルは/ webapp/templateの下にあります。私のfaceletpage.xhtmlは、次のようにテンプレートを参照しています。
<ui:compsition .... template="/template/myLayout.xhtml">
次に、すべての背景画像が欠落していることを除いて、ページは適切にレイアウトされます。ログを確認したところ、次のエラーが見つかりました。
java.io.FileNotFoundException: SRVE0190: File not found: /javax.faces.resource/images/body_background.png
java.io.FileNotFoundException: SRVE0190: File not found: /javax.faces.resource/images/header_bg.png
次に、cssファイルのURL参照をから変更します
url(../images/body_background.png)
url(/ i