2012-04-19 77 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