在Java1.6中动态读取消息

时间:2012-01-04 23:36:53

标签: java properties

我有多个消息文件(messages_en.propertiesmessages_ch.properties

这些文件有一些静态的html文本&需要一些动态输入参数,例如username,以便它会说Dear {0}, thanks for subscription....

现在我需要在从适当的文件中读取这些内容后替换username

我怎么能用Java做到这一点?是否有可用的框架示例代码?

2 个答案:

答案 0 :(得分:2)

检查MessageFormat

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

您可以将其与ResourceBundle getString方法结合使用,通过其键从属性文件中读取消息,然后输出格式化的,动态填充的消息。

答案 1 :(得分:2)

请参阅I18N trail。该教程的Nutshell版本,使用更新的API方法:

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

根据您的实际用例,可能会有一些快捷方式(例如,Web框架通常包括通过标记库直接支持本地化,某些库包含一些繁忙的工作等)。