Richfaces-rich-skin
RichFaces-リッチスキン
RichFacesには、リッチスキンと呼ばれる一元的な方法でWebサイトのルックアンドフィールを制御する新しい機能が付属しています。 スキンは古いCSSファイルの高レベルの実装であり、バックエンド開発者がWebサイトのルックアンドフィールを制御するのにより便利です。 いくつかのビルトインスキンがあり、選択に応じてカスタマイズできます。
ビルトインスキン
RichFacesコンポーネントjarファイルには、多数の組み込みスキンが用意されています。 以下に、組み込みのリッチスキンをいくつか示します。
- デフォルト
- 平野
- エメラルド
- 青空
- wine
- japanCherry
- ruby
- クラシック
- deepMarine
- NULL
次の例では、「クラシック」スキンを実装します。 上記のスキンを実装するのは非常に簡単です。 さらに先に進む前に、以下のコード行を使用して「web.xml」ファイルにスキンを追加してください。 上記のリストから任意のスキンを追加できます。 適切なスキン名で<param-value>タグを変更するだけです。
これを追加したら、「SkinExample.xhtml」ファイルを作成し、次のコード行を追加してください。
このページを実行すると、ブラウザの出力が次のようになり、各タブが動的に伝播して異なる出力が生成されます。 次のタブを押すと、異なる出力が表示されます。
上記の例では、<rich:panel>は<rich:tab>を使用してさまざまなタブを作成するパネルを作成します。 <rich:tabPanel switchType = "AJAX">は、使用されているタブのAJAX遷移を提供します。
スキンの作成/変更
スキンは、CSSデザインの拡張バージョンに過ぎず、実行時にWebページに適用されます。 前のセクションでは、スキンの基本的な組み込み機能をいくつか学びました。 このセクションでは、独自のスキンを作成するか、既存のスキンを変更します。 RichFacesのスキンは、次の3つのレベルでカスタマイズできます。
スキンプロパティファイル-すべてのスキンは、「rechfaces-a4j-4.5.17.Final」jarファイルに記載されているさまざまなプロパティファイルを介して生成されます。 必要なのは、同じプロパティファイルを作成し、それをソースフォルダーの下に保持し、そのプロパティを編集することだけです。 それに応じて「web.xml」を変更して、Webサイトの新しいスキンプロパティを反映する必要があります。
コンポーネントスタイルシート-選択した新しいCSSファイルを実装し、アプリケーションで使用します。
スタイルクラスの上書き-スタイルプロパティをxhtmlファイルに直接言及することにより、スタイルを上書きできます。
例を考えてみましょう。 以前の「クラシック」スキンをカスタマイズします。 「ソース」パッケージ内にプロパティファイルを作成し、「custom.skin.properties」という名前を付けます。 上記のjarファイルで利用可能な他のプロパティファイルからコピーされたこのプロパティファイルのエントリを次に示します。
スキルレベルに応じて、このプロパティファイルの属性を変更できます。 新しいスタイルクラスを追加したり、既存のクラスを編集したりできます。 新しいプロパティファイルの作成が完了したら、「web.xml」ファイルに同じプロパティファイルを追加します。 以下は、「web.xml」のエントリです。これは、スキンを指している必要があります。
注-新しいプロパティファイルがソースディレクトリ内に存在することを確認してください。存在しない場合、「NoClassFound Exception」というランタイムエラーがスローされます。
先に進み、「SkinExample.xhtml」という名前の以前のファイルを実行します。 次に、ブラウザの出力を示します。新しいプロパティファイルがruby.propertiesファイルからコピーされたため、Webサイト全体の外観が「Ruby」に変更されたことを確認できます。
実行時にスキンを変更する
この例では、実行時にスキンを変更します。 次のようなスキンクラスを作成します。
次に、「web.xml」ファイルを次のように変更して、実行時にスキン名を入力します。
その後、JSFアプリケーションの構成ファイルを変更する必要があります。 ファイルはweb-INFフォルダーの下にあります。 次のBeanプロパティを追加します。
以下はxhtmlファイルのコードです。
上記のコードは、ブラウザに次の出力を生成します。
上記の例では、最初に「プレーン」を選択しているため、プレーンを指しています。 ラジオボタンを介して伝播すると、それに応じて色が変わります。