Java ResourceBundlesは、1つ以上のプロパティ・ファイルを使用し、ユーザーのロケールに基づいて国際化されたメッセージを提供します。プロパティ・ファイルには、Webアプリケーションで使用されるすべての文字列メッセージを備えたリソース・バンドルが用意されています。プロパティ・ファイルはテキスト・ファイルであるため、アプリケーションを国際化する簡単な方法が提供されます。
Struts Webアプリケーションでは、java.util.ResourceBundle
クラスの標準Struts実装の1つであるPropertyResourceBundle
クラスを使用できます。この実装によって、Strutsに基づくWebアプリケーションでは、「name=value」構文を使用してリソースを定義できます。
JDeveloperでは、StrutsをサポートするWebアプリケーションを作成する際に、ApplicationResources.properties
と呼ばれるプロパティ・ファイルがプロジェクトに追加されます。アプリケーションでは、複数のプロパティ・ファイルを使用できます。
このトピックでは、次の項目について説明します。
ローカライズ・リソース・バンドルでは、ローカライズ・バージョンごとに個別のプロパティ・ファイルが使用されます。バージョンが異なるプロパティ・ファイルの名前は、メッセージがファイルに格納されているローカライズ・バージョンを識別するための文字以外は同じです。
たとえば、ソース・コードがpackage com.mycompany.mypackage
で作成され、com/mycompany/mypackage
という名前のディレクトリ(ソース・ディレクトリからの相対)に格納されるとします。com.mycompany.mypackage.MyResources
というリソース・バンドルを作成するには、com/mycompany/mypackage
ディレクトリに次のファイルを作成します。
MyResources.properties
: サーバーのデフォルト言語のメッセージを格納します。デフォルト言語が英語の場合は、次のようなエントリがあります。
prompt.hello=Hello
.
MyResources_xx.properties
: 同じメッセージを、ISO言語コードが「xx
」である言語で格納します(最新リストへのリンクは、ResourceBundleのJavadocページを参照)。上に示したメッセージのフランス語バージョンとして、次のエントリがあります。
prompt.hello=Bonjour
.
リソース・バンドル・ファイルは、必要に応じていくつの言語でも持つことができます。
アプリケーションのリソース・バンドルは、Struts構成ファイルの<message-resources>
要素で識別します。
アプリケーションには1つ以上のリソース・バンドルを定義できます。アプリケーションを複数のモジュール(それぞれが独自のStruts構成ファイルを保持する)に構造化した場合は、該当するモジュールの構成ファイルで各モジュールのリソース・バンドルを識別できます。
アプリケーションでは、同時に複数のリソース・バンドルを使用できます。特定の項目に対して使用するバンドルの識別には、key
属性が使用されます。
次に、Struts構成ファイルの<message-resources>
要素にリソース・バンドルを指定する方法を示します。
<message-resources parameter="view.ApplicationResources" />
JDeveloperは、ApplicationResources.properties
ファイルをWebアプリケーションのソース・フォルダに格納します。これによって、アプリケーション値をmypackage
.ApplicationResources
に簡略化できます。ファイルをソース・フォルダの外に移動する場合は、リソース・バンドル・パッケージ名(mypackage.ApplicationResources
)がアプリケーションのクラスパスにあることを確認してください。
JDeveloperでのStrutsサポートについて
WebアプリケーションでのStrutsフレームワークについて
Struts構成ファイルについて
Struts Webアプリケーションでのリソース・バンドルの使用方法の詳細は、Strutsのドキュメントを参照してください。
http://struts.apache.org/userGuide/configuration.html#resources_config
Copyright © 1997, 2006, Oracle. All rights reserved.