strtus 2国際化を実現
ネット上のstruts 2の国際化を実現する資料はすべてとてもそろっていないで、すべて実現した後に私は大体の記録をします
1.国際化の使用方法
strutsプロファイルに定数を設定するには、value値messageに注意してください.Messagesは、プロファイルがmessageパッケージの下にあるファイル名をmessages(_言語名.properties)とするファイルを指すことを示します.
2.プロファイルの値を取得する方法
ページ:
<:text name="構成されたキー"/>
バックグラウンド:ツールクラスの列が書かれています.最も簡単なのは、主にResourceBundleクラスからプロファイルmapオブジェクトを取得することです.
3.国際化を切り替えたら?
方法:フロントクリック切替時にajaxを使用してセッションのlocale値を再付与し、ページをリフレッシュし、バックグラウンドが実行ページの前にセッション中に存在するかどうか、存在しない場合はデフォルトのLocaleクラスを作成し、最後にLocaleをActionContextに入れる.getContextは国際化を実現し、メッセージのメッセージを直接見つけることができます.locale.language.propertiesは対応する値を取得します
1.国際化の使用方法
strutsプロファイルに定数を設定するには、value値messageに注意してください.Messagesは、プロファイルがmessageパッケージの下にあるファイル名をmessages(_言語名.properties)とするファイルを指すことを示します.
2.プロファイルの値を取得する方法
ページ:
<:text name="構成されたキー"/>
バックグラウンド:ツールクラスの列が書かれています.最も簡単なのは、主にResourceBundleクラスからプロファイルmapオブジェクトを取得することです.
public static String getMessage(HttpServletRequest request, String key)
{
String value;
try
{
Locale locale = (Locale) request.getSession()
.getAttribute("locale");
if (locale != null)
{
locale = new Locale("en", "US");
}
ResourceBundle rb = ResourceBundle.getBundle(FILE, locale);
value = rb.getString(key);
}
catch (RuntimeException e)
{
value = "NULL";
}
return value;
}
3.国際化を切り替えたら?
//
if (null != httpServletRequest.getSession().getAttribute("locale"))
{
locale = (Locale) httpServletRequest.getSession()
.getAttribute("locale");
RequestContext.getContext().setLocale(locale);
ActionContext.getContext().setLocale(locale);
return;
}
方法:フロントクリック切替時にajaxを使用してセッションのlocale値を再付与し、ページをリフレッシュし、バックグラウンドが実行ページの前にセッション中に存在するかどうか、存在しない場合はデフォルトのLocaleクラスを作成し、最後にLocaleをActionContextに入れる.getContextは国際化を実現し、メッセージのメッセージを直接見つけることができます.locale.language.propertiesは対応する値を取得します