ヘッダーをスキップ
Oracle® Fusion Middleware Oracle ADFスキンの開発
12c (12.2.1)
E69962-01
  目次へ移動
目次

前
次
 

8 ADFスキンのテキストの使用

この章では、ADFスキンでテキストを使用する方法について説明します。異なるリソース文字列によって追加のリソース・バンドルを指定する方法に加えて、実行時にADF Facesコンポーネントがレンダリングするリソース文字列がリソース・バンドルに保存される方法などの主要概念についても説明します。

この章の内容は次のとおりです。

8.1 ADFスキンのテキストの使用について

ADFスキンのソース・ファイルには、ADF Facesコンポーネントがアプリケーションのユーザー・インタフェースにレンダリングするテキストは保存されません。ADF Facesコンポーネントをレンダリングするアプリケーションでは、これらのコンポーネントがレンダリングするテキストをリソース文字列として抽象化し、リソース文字列をリソース・バンドルに保存します。たとえば、図8-1に、OKおよびCancelのラベルが付いたボタンをレンダリングするADF Faces dialogコンポーネントを示します。

図8-1 ADF Facesのdialogコンポーネント

この図は周囲のテキストで説明しています

これらのボタンのラベルとして表示されるテキスト(OKおよびCancel)は、リソース・バンドルで定義され、リソース文字列によって参照されます。ボタンのラベルに表示されるテキストを変更する場合は、次のリソース文字列に代替テキストを指定することによって、表示する値を定義するリソース・バンドルを作成します。

  • af_dialog.LABEL_OK

  • af_dialog.LABEL_CANCEL

注意:

「ADFスキン・ファイルの作成」で説明しているように、デフォルトで、新規ADFスキンの作成時にリソース・バンドル(skinBundle.properties)がプロジェクトに作成されます。

特定のコンポーネントのユーザー・インタフェースに表示されるテキストを定義するリソース文字列以外に、コンポーネントに関係なく表示されるテキストを定義する様々なリソース文字列があります。これらのリソース文字列は、グローバル・リソース文字列と呼ばれます。ADF Facesコンポーネントのリソース文字列およびグローバル・リソース文字列の詳細は、Oracle ADF Facesスキン・セレクタ・タグ・リファレンスを参照してください。

ADF Facesコンポーネントでは自動変換がサポートされています。ADF Facesコンポーネントのスキンに使用されるリソース・バンドルは、28の言語に変換されます。たとえば、エンド・ユーザーがブラウザでドイツ語を使用するよう設定している場合、コンポーネント内に含まれるテキストはすべて自動的にドイツ語で表示されます。このため、新規ADFスキン用のリソース・バンドルを作成した場合は、Webアプリケーションでサポートされている他の言語に対応するそのリソース・バンドルのローカライズ済バージョンも作成する必要があります。

リソース・バンドルとリソース文字列の作成およびADF Facesコンポーネントのローカライズの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』の「ページの国際化およびローカライズ」の章を参照してください。

8.2 独自のリソース・バンドルからのテキストの使用

アプリケーションのADF Facesコンポーネントのユーザー・インタフェースにレンダリングされるデフォルトのテキスト値をオーバーライドするために、リソース・バンドルに代替テキストを入力する場合は、そのリソース・バンドルをアプリケーションに指定する必要があります。実行時に、オーバーライドするリソース文字列に対しては、リソース・バンドル内の代替テキストがアプリケーションによってレンダリングされます。オーバーライドしないリソース文字列に対しては、ベースのリソース・バンドルで定義されているテキストがレンダリングされます。たとえば、図8-4に示すADF Facesのdialogコンポーネントでは、アプリケーション開発者はaf_dialog.LABEL_OKリソース文字列のデフォルト値であるOKYayをオーバーライドし、af_dialog.LABEL_CANCELリソース文字列のデフォルト値は変更していません。つまり、アプリケーション開発者はリソース・バンドルのaf_dialog.LABEL_CANCELリソース文字列の値を定義しておらず、アプリケーションでは、このリソース文字列の値について、ベースのリソース・バンドルを参照します。

図8-2 オーバーライドされた値とデフォルト値のリソース文字列

この図は周囲のテキストで説明しています

リソース・バンドルを作成する方法および文字列キーの値を定義する方法の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』の「ページの国際化およびローカライズ」の章を参照してください。

8.2.1 ADFスキンに追加のリソース・バンドルを指定する方法

ADFスキンにリソース・バンドルを指定するには、その名前と場所を値としてtrinidad-skins.xmlファイルのbundle-nameプロパティに追加します。

ADFスキンに追加のリソース・バンドルを指定するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、アプリケーション用のtrinidad-skins.xmlファイルをダブルクリックします。デフォルトで、これはWeb Content/WEB-INFノードの下にあります。
  2. 「構造」ウィンドウで、追加のリソース・バンドルを追加するskinノードを右クリックし、「skinの中に挿入」バンドル名を選択します。
  3. 「プロパティ」ウィンドウで、リソース・バンドルの名前と場所をbundle-nameプロパティの値として指定します。

    たとえば、図8-3に示すように、プロジェクトで最初のADFスキンを作成した後にデフォルトで作成されるリソース・バンドルでは、<bundle-name>要素の次の値が指定されます。

    <bundle-name>resources.skinBundle</bundle-name>

    図8-3 ADFスキンのデフォルトのリソース・バンドル

    この図は周囲のテキストで説明しています

8.2.2 ADFスキンに追加のリソース・バンドルを指定した場合の処理

trinidad-skins.xmlファイルでは、bundle-nameプロパティの値として次の例のように定義したリソース・バンドルを参照します。

<skin>
    <id>skin1.desktop</id>
    <family>skin1</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>
    <bundle-name>resources.skinBundle</bundle-name>
</skin>

実行時に、デフォルトのテキスト値をオーバーライドするためにリソース・バンドルに指定したテキスト値が、アプリケーションによってレンダリングされます。たとえば、Yeahaf_dialog.LABEL_OKリソース文字列の値として指定し、Oopsaf_dialog.LABEL_CANCELの値として指定したリソース・バンドルを定義したとします。図8-4に、これらの値を使用してラベルをレンダリングするdialogコンポーネントを示します。

図8-4 カスタム・リソース・バンドルで定義されたラベルをレンダリングするダイアログ

この図は周囲のテキストで説明しています