基本的な使い方
1.メッセージの定義
Springの MessageSource
から参照できるプロパティを参照するため、まずはじめに、プロパティファイルにメッセージを定義します。
- 書式
{パラメータ名}
にて、パラメータを埋め込むことができます。 - 書式
${EL式}
にて、EL式を埋め込むことができます(詳細は「EL式を使ったフォーマット」を参照)。
## 標準的な値 message.hello=Hello Wolrd ! {your_name}
2.MessageFormatterのインスタンスの作成
// MessageSourceのインスタンスの作成 ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.addBasenames("messages"); messageSource.setDefaultEncoding("UTF-8"); messageSource.setFallbackToSystemLocale(false); // メッセージを実際にフォーマとする MessageInterpolator のインスタンスの組み立て // EL式の実装を切り替えることができます。ここでは、SpEL を使用します。 MessageInterpolator messageInterpolator = new MessageInterpolator(new SpelExpressionEvaluator()); // MessageFormatter を作成します。 MessageFormatter messageFormatter = new MessageFormatter(messageSource, messageInterpolator);
3.メッセージをフォーマットする
create("<プロパティのキー>")
にて、定義したメッセージのキーを指定します。param("<パラメータ名>", <値>)
にて、メッセージ中のパラメータの値を指定します。- パラメータで埋め込んだ値は、メソッド
#toString()
にて文字列に変換されます。 - 数値や日付を独自のフォーマットに変換したければ、予めフォーマットした結果を設定するか、「EL式によるフォーマット」を行ってください。
format()
にて、メッセージをフォーマットします。
String message = messageFormatter.create("message.hello") .param("your_name", "Yamada Taro") .format();