2012-01-04 12 views
0

私は、複数のメッセージファイル(messages_en.propertiesmessages_ch.properties読むメッセージを動的Java1.6

これらのファイルは、それは言うだろうことを、いくつかの動的入力のparamそうのようなusernameを必要とするいくつかの静的なHTMLテキスト&を持っているをしたDear {0}, thanks for subscription....

ここでは、適切なファイルからこれらの内容を読み込んだ後にusernameを置き換える必要があります。

どうすればJavaで実行できますか?フレームワークのサンプルコードはありますか?

答えて

2

I18N trailを参照してください。そのチュートリアルから一言で言えば、バージョン、使用して新しいAPIメソッド:

ResourceBundle messages = ResourceBundle.getBundle("MessageBundle", Locale.getDefault()); 
    String output = MessageFormat.format(messages.getString("msg.key"), "Mike"); 

いくつかのショートカットがあるかもしれない、あなたの実際のユースケースに応じては、(例えば、Webフレームワークは、多くの場合、タグライブラリを介した局在化のための直接的なサポートが含まれ、いくつかのライブラリは、いくつかのbusyworkを包みます等)

+0

@AnthonyAccioly Fixed;トレイルのコードを合理化し、それを変更するのを忘れていました。 –

+0

'MessageFormat'を構築することは、一つの引数' format'メソッドを使って(必要に応じてパターンを変更して)繰り返し書式を設定したいときにのみ有効です。オブジェクトインスタンスを通して静的メソッドを使用しないでください。 'className.staticMethodName'または[Static Import](http://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html)を使用してください。とにかく私はアップウィニングしていますが、参考にするためにサンプルを修正すれば幸いです。 –

+0

@AnthonyAcciolyコメントは同期していません。 –

2

チェックMessageFormatアウト:

String result = MessageFormat.format(
    "Dear {0} , thanks for subscription....", username); 

あなたはそれがあなたの特性からのメッセージを読むためにResourceBundlegetString方法で組み合わせることができますが、そのキーと出力フォーマットされ、動的に満たされたメッセージを介してファイル。

+0

HTMLタグを持つプロパティファイルで動作しますか?残りのメッセージ文字列をどのように組み合わせますか?コードサンプルを提供できますか? – Mike

+0

@Mikeメッセージの内容は無関係です。 –

+0

はい、そうです。 'key = value'ペア形式の有効なプロパティファイルを持っている場合、valueにhtmlタグが含まれているかどうかは関係ありません。例については、@Dave answerとI18n trailsリンクをチェックしてください。 –

関連する問題