この章の内容は次のとおりです。
通常、ADFスキンのCSSファイルでは、ファイルの外部リソースを参照するためにURLを使用します。たとえば、エラー・メッセージとともにレンダリングするためにアプリケーションが使用するイメージがこれに該当します。URLは、ADFスキンのCSSファイルから様々なフォーマットで参照できます。サポートされているフォーマットは次のとおりです。
絶対
リソースの完全なURLを指定します。たとえば、次のようなフォーマットのURLです。
http://www.mycompany.com/WebApp/Skin/skin1/img/errorIcon.gif
相対
URLの先頭が/
ではなく、プロトコルが示されていない場合は、相対URLを指定できます。相対URLは、ADFスキンのCSSファイルの場所に基づきます。たとえば、ADFスキンのCSSファイル・ディレクトリがWebApp/Skin/skin1/
であり、指定されたURLがimg/errorIcon.gif
の場合、最終的なURLは/WebApp/Skin/mySkin/img/errorIcon.gif
となります。
コンテキスト相対
このURLのフォーマットは、Webアプリケーションのコンテキスト・ルートに対して相対的に解釈されます。コンテキスト相対ルートの先頭は/
になります。たとえば、Webアプリケーションのコンテキスト相対ルートが次のとおりであるとします。
/WebApp
このとき、次のURLを指定したとします。
/img/errorIcon.gif
最終的なURLは次のようになります。
/WebApp/img/errorIcon.gif
サーバー相対
サーバー相対URLは、Webサーバーに対して相対的に解釈されます。これがコンテキスト相対URLと異なるのは、同じWebサーバー上にある別のアプリケーション内のリソースを参照できることです。URLの先頭は//
を使用して指定します。たとえば、次のフォーマットでURLを作成します。
//WebApp/Skin/mySkin/img/errorIcon.gif
Javaアーカイブ(JAR)ファイルをパッケージとして作成し、ADFスキンとその関連ファイルを配布する場合は、使用するURLのフォーマットが重要になることがあります。詳細は、「ADFスキンのADFライブラリJARへのパッケージ化」を参照してください。
次のリストでは、ADFスキンのプロジェクトに関連付けられている構成ファイルについて説明します。ADFスキンの開発中、または開発が終了して完成したADFスキンをアプリケーションに適用するときに、これらのファイルに含まれる値を変更します。
trinidad-skins.xml
このファイルは、「ADFスキン・ファイルの作成」で説明しているように、作成されるADFスキンを登録します。次の例に、表13-1で説明しているADFスキンのサンプルを拡張した数多くのADFスキンの登録方法を示します。
<!-- Use the following values in the trinidad-skins.xml file if you want to extend the alta-v1 skin. --> <skin> <id>yourSkin.desktop</id> <family>yourSkinFamily</family> <extends>alta-v1.desktop</extends> ... </skin> <!-- Use the following values in the trinidad-skins.xml file if you want to extend the skyros-v1 skin. --> <skin> <id>yourSkin.desktop</id> <family>yourSkinFamily</family> <extends>skyros-v1.desktop</extends> ... </skin>
このファイルの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のtrinidad-skins.xmlでの構成に関する項を参照してください。
trinidad-config.xml
この構成ファイルの<skin-family>
要素を「WebアプリケーションへのADFスキンの適用」で説明しているように構成することによって、アプリケーションに対して使用するADFスキンを指定します。次の例に、表13-1に示されている一部のADFスキンを使用するためにWebアプリケーションを構成する方法を示します。
<!-- Use the following value in the trinidad-config.xml file if you want your application to use the Alta skin. --> <skin-family>alta</skin-family> <skin-version>v1<skin-version> <!-- Use the following value in the trinidad-config.xml file if you want your application to use the skyros skin. --> <skin-family>skyros</skin-family> <skin-version>v1<skin-version>
このファイルの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のtrinidad-config.xmlでの構成に関する項を参照してください。
web.xml
このファイルのコンテキスト初期化パラメータを「ADFスキンの変更のテスト」の説明に従って構成することによって、ADFスキンを開発およびテストを実行しやすくできます。コンテキスト初期化パラメータ(org.apache.myfaces.trinidad.skin.MAX_SKINS_CACHED
)を構成して、生成されたCSSファイルに関する情報をメモリーに格納する一意のADFスキンの最大数を指定することもできます。このコンテキスト初期化パラメータを使用すると、数多くの異なるスキンを使用する場合に、アプリケーションのパフォーマンスを維持するのに役立つ場合があります。
web.xml
ファイルおよびコンテキスト初期化パラメータの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のweb.xmlでの構成に関する項を参照してください。
Oracle ADFでは、数多くのADFスキンが提供されており、これらを拡張して、新規ADFスキンを作成できます。表13-1に、これらのADFスキンの違いを示します。
ADFスキン作成時に表示される「ADFスキンの作成」ダイアログの「基本スキン」ページは、「ADFスキン・ファイルの作成」で説明しているように、拡張元として適切なADFスキンを提示します。
表13-1に示されているすべてのADFスキンをWebアプリケーションに適用できます。詳細は、「ADFスキンの構成ファイル」を参照してください。ADFスキン間の継承関係を示すダイアグラムは、「Oracle ADFで提供されるADFスキンの継承関係」を参照してください。
表13-1 Oracle ADFで提供されるADFスキン
ADFスキン | 説明 |
---|---|
|
最小書式設定のみを含みます。 |
|
|
|
Oracle Alta UIシステムの詳細は、http://www.oracle.com/webfolder/ux/middleware/alta/index.htmlを参照してください。 |
<version>
要素を使用して、trinidad-skins.xml
ファイルでADFスキンのバージョン番号を指定できます。trinidad-skins.xml
ファイル内の<family>
要素の値が同じであるADFスキンを区別する場合はこのオプション機能を使用します。特定のADFスキンを使用するようにアプリケーションを構成する場合は、「WebアプリケーションへのADFスキンの適用」で説明しているように、trinidad-config.xml
ファイルで値を指定して行うことに注意してください。
trinidad-skins.xml
ファイル内の<version>
要素に値を入力して、ADFスキンのバージョンを指定します。
ADFスキンをバージョニングするには、次のようにします。
trinidad-skins.xml
ファイルをダブルクリックします。これは、デフォルトではWeb Content/WEB-INFノードにあります。trinidad-config.xml
ファイルの<skin-version>
要素に値が指定されていない場合にこのバージョンのADFスキンがアプリケーションで使用されるようにするには、「WebアプリケーションへのADFスキンの適用」で説明しているように、バージョンの挿入のためのダイアログで、デフォルト・リストからtrueを選択します。v1
と入力します。例13-1に、3つのADFスキン(skin1.desktop
, skin2.desktop
およびskin3.desktop
)を参照するtrinidad-skins.xml
の例を示します。これらの各ADFスキンの<family>
要素は同じ値(test
)になっています。<version>
要素の子要素の値によって、これらのADFスキンがそれぞれ区別されます。実行時に、アプリケーションのtrinidad-config.xml
ファイルにおける<skin-family>
要素の値としてtest
が指定されたアプリケーションでは、skin1.desktop
を使用します。これは、このADFスキンがtrinidad-skins.xml
ファイルでデフォルト・スキンとして構成されているためです(<default>true</default>
)。この動作は、「WebアプリケーションへのADFスキンの適用」で説明しているように、trinidad-config.xml
ファイル内の<skin-version>
要素に値を指定してオーバーライドできます。たとえば、trinidad-config.xml
ファイルの<skin-version>
要素の値としてv2
を指定すると、アプリケーションはtrinidad-skins.xml
ファイルのデフォルトとして定義されているskin1.desktop
のかわりにskin2.desktop
を使用します。
(trinidad-config.xml
ファイル内の<skin-version>
要素を使用して)取得するスキンのバージョンを指定しない場合、アプリケーションはtrinidad-skins.xml
内の<default>true</default>
要素を使用してデフォルトとして定義されているスキンを使用します。デフォルトのスキンを指定しない場合、アプリケーションはtrinidad-skins.xml
内で定義される最後のADFスキンを使用します。例13-1において、定義される最後のADFスキンはskin3.desktop
です。
例13-1 バージョニングされたADFスキン・ファイルが含まれたtrinidad-skins.xmlファイル
<?xml version="1.0" encoding="windows-1252"?> <skins xmlns="http://myfaces.apache.org/trinidad/skin"> <skin> <id>skin1.desktop</id> <family>test</family> <extends>skyros-v1.desktop</extends> <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id> <style-sheet-name>skins/skin1/skin1.css</style-sheet-name> <version> <default>true</default> <name>v1</name> </version> </skin> <skin> <id>skin2.desktop</id> <family>test</family> <extends>skin1.desktop</extends> <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id> <style-sheet-name>skins/skin2/skin2.css</style-sheet-name> <version> <name>v2</name> </version> </skin> <skin> <id>skin3.desktop</id> <family>test</family> <extends>skin2.desktop</extends> <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id> <style-sheet-name>skins/skin3/skin3.css</style-sheet-name> <version> <name>v3</name> </version> </skin> </skins>