0

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

4

1 に答える 1

1

#{resource}適切なJSFリソースURLを出力するために、ELでCSS画像リソースを参照する必要があります。

body {
    background: #fff url(#{resource['images/body_background.png']}) repeat -x;
}

#header {
    background: transparent url(#{resource['images/header_bg.png']}) no-repeat top right;
}
于 2013-02-20T19:10:44.090 に答える