2012-04-19 52 views
1

我已经在JSTL <fmt> taglib可以使用的资源包文件中获得了本地化的消息。现在我也想从我的Java代码中使用这些消息。如何做呢?如何在Java代码中使用资源包文件?

我需要的是类似getMessage()的密钥和getParameterizedMessage()为具有参数的密钥。


更新以下似乎工作:

ResourceBundle messages = ResourceBundle.getBundle("messages"); 
String str = messages.getString("PF1"); 
System.out.println(str); 

Object[] messageArguments = { 
    "test" 
}; 

MessageFormat formatter = new MessageFormat(""); 
formatter.applyPattern(messages.getString("IT4")); 
String output = formatter.format(messageArguments); 
System.out.println(output); 
+0

你应该张贴更新作为一个答案。这确实是正确的方法。不要忘记在'getBundle()'调用中提供所需的语言环境。 – BalusC 2012-04-19 16:20:46

回答

1

java.util.Properties装入消息,并有一个辅助类,如果有一键将返回从属性值。

如果您正在寻找在I18支持,基本入手,可以发现here

+0

谢谢。如果我的参数化为'<< 1 >>或'{0}',这有什么关系吗?我如何使用参数化? – 2012-04-19 07:01:21

+1

Java资源包使用{}进行参数化 – mprabhat 2012-04-19 07:04:26

+0

@mpratbhat谢谢。我想我也希望看到参数化生效的实际应用。我知道如何使用标签来做到这一点,它的工作原理,但我也需要从Java代码中完成。 – 2012-04-19 07:48:23

相关问题