基本的な使い方
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();
