Java サーブレットでは、国際化されたリソース バンドルとロケール クラスを使用して国際化が実現されます。具体的な手順は次のとおりです。 国際化されたリソース バンドル (.properties ファイル) を作成して、さまざまな言語 (_言語コード) と国 (_country) を保存します。コード)翻訳されたテキスト。現在のロケール設定を取得するには、Locale クラスを使用します。 ResourceBundle.getBundle を介して正しいリソース バンドルをロードします。 Bundle.getString を使用して、対応するキーの翻訳されたテキストを取得します。 Locale.setDefault を介してデフォルトのロケールを設定します。 request.getLocale を使用して、要求されたロケールを取得します。 EL 式を使用して、翻訳されたテキストをビューに表示します。
Java サーブレットで国際化をサポートする方法
はじめに
国際化とはアプリケーションが複数の言語と文化をサポートするようにするプロセス。 Java サーブレットでは、国際化されたリソース バンドルと Locale
クラスを使用して国際化が実現されます。
国際化リソース バンドル
国際化リソース バンドルは、さまざまな言語のテキストの翻訳された文字列のセットです。これらは、.properties
ファイルの形式で保存され、ファイル名は [ベース ファイル名]_[言語コード]_[国コード].properties
の形式になります。たとえば、英語のテキストを含むリソース バンドルには、messages_en_GB.properties
という名前を付けることができます。
リソース バンドルの作成
リソース バンドルを作成するには、次の手順に従います。
.properties# # を作成します。 # 書類。
KEY=VALUE
例
英語とスペイン語のテキストを含むリソース バンドルの例を次に示します:// messages_en_GB.properties welcome=Welcome username=Username // messages_es_ES.properties welcome=Bienvenido username=Nombre de usuario
Using Locale クラス
Locale クラスは、特定の言語と国の設定を表します。リソース バンドルから正しく翻訳された文字列を取得するために使用されます。
リソース バンドルの読み取り
リソース バンドルを読み取るには、次のコードを使用します:ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault());
と同じようにロードされます。 Locale 一致するリソース バンドル。
翻訳された文字列の取得
翻訳された文字列を取得するには、次のコードを使用します:String welcomeText = bundle.getString("welcome");
実際のケース
1. サーブレットの初期化
サーブレットの初期化メソッドでは、デフォルトのを設定できます。ロケール :
@Override public void init() { Locale defaultLocale = Locale.getDefault(); Locale.setDefault(defaultLocale); }
2. リクエストに応答する
リクエストに応答すると、リクエストされたロケールに基づいて翻訳された文字列を取得できます。 :
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) { ResourceBundle bundle = ResourceBundle.getBundle("messages", request.getLocale()); request.setAttribute("welcomeText", bundle.getString("welcome")); }
3. ビューの表示
JSP ビューでは、EL 式を使用して翻訳された文字列を表示できます:<h1>${welcomeText}</h1>
以上がJava サーブレットは国際化をどのようにサポートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。