ResourceBundles を使用することにより、Web アプリケーションでサポートしている各ロケール用のソースファイルを作成できます。これらのファイルには、各ロケール専用のテキストや画像などのオブジェクトが含まれます。
ResourceBundles は、java.util パッケージのアブストラクトクラスであり、次のサブクラスの 1 つとして実装する必要があります。
Web アプリケーションで多くのローカライズされたテキスト情報が必要な場合は、クラスファイル (PropertyResourceBundle に必須) ではなくプロパティファイル
(ListResourceBundles に必須) を使用してデータを保管する方が簡単です。
JRun は、次の規則を使用して、ファイル名に基づいて取り込むリソースバンドルを決定します。
ClassName_languagecode_COUNTRYCODE.class
ClassName_languagecode_COUNTRYCODE.properties
languagecode は、en などのデフォルトのシステムロケールの場合以外では必須です。COUNTRYCODE はオプションです。
ロケールを付けて getBundle メソッドを呼び出した場合、JRun では適切なリソースクラスまたはファイルが自動的に取り込まれます。たとえば、ロケールが日本語に設定されている場合、JRun では MyResources_ja.class または MyResources_ja.properties が取り込まれます。
Web アプリケーションでリソースバンドルを使用するには、クライアントロケールを付けて ResourceBundle.getBundle メソッドを呼び出します。次に、次の例に示すように、リソースバンドルの適切なメソッドを呼び出します。
...
ResourceBundle bundle =
ResourceBundle.getBundle("Resources",request.getLocale());
<html>
<head><title><%= bundle.getString("title") %></title></head>
<body>
<%-- ResourceBundle に基づいてすべての内容を表示します --%>
<h2><%= bundle.getString("hello_message") %></h2>
</body>
</html>
...
リソースバンドルのプロパティファイルの内容は次のとおりです。
title=Morning Greeting
hello_message=Good Morning
例については、/samples/SERVER-INF/lib/jrun/samples/security ディレクトリ内の SampleJDBCLoginModule を参照してください。