4.4.6. RichFaces のビルトイン Skinnability
RichFaces では、 スキンをユーザーインターフェース (UI) のデザインに組み入れることができます。このフレームワークではプロパティファイルの名前付きのスキンパラメータを使用してコンポーネントのセット全体でスキンの外見を常に制御することができます。 事前定義されたスキンの例は、 http://livedemo.exadel.com/richfaces-demo/ で参照できます。
スキンにより、 RichFaces によってビルドされる標準的な JSF コンポーネントとカスタム JSF コンポーネントをレンダリングするスタイルを定義できます。 スキンを試してみるには、 次の手順に従います。
- 次のようにカスタムのレンダリングキットを作成し、
faces-config.xmlに登録します。<render-kit> <render-kit-id>NEW_SKIN</render-kit-id> <render-kit-class>org.ajax4jsf.framework.renderer.ChameleonRenderKitImpl</render-kit-class> </render-kit><render-kit> <render-kit-id>NEW_SKIN</render-kit-id> <render-kit-class>org.ajax4jsf.framework.renderer.ChameleonRenderKitImpl</render-kit-class> </render-kit>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に、 ルックアンドフィールの事前定義された変数を基にしてコンポーネントのカスタムレンダラを作成し登録します。
<renderer> <component-family>javax.faces.Command</component-family> <renderer-type>javax.faces.Link</renderer-type> <renderer-class>newskin.HtmlCommandLinkRenderer</renderer-class> </renderer><renderer> <component-family>javax.faces.Command</component-family> <renderer-type>javax.faces.Link</renderer-type> <renderer-class>newskin.HtmlCommandLinkRenderer</renderer-class> </renderer>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最後に、 スキンパラメータを持つプロパティファイルをクラスパスのルートに配置します。 プロパティファイルは次の 2 つの要件を満たしていなければなりません。
- ファイル名は
skinName.skin.propertiesでなければなりません。この場合はnewskin.skin.propertiesと呼びます。 - このファイルの最初の行は
render.kit=render-kit-idでなければなりません。 ここでは、render.kit=NEW_SKINを使用します。
カスタムレンダラ作成の詳細は http://java.sun.com/javaee/javaserverfaces/reference/docs/index.html を参照してください。