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

here을 찾을 수 있습니다로 시작합니다. 이것은 실제로 올바른 방법입니다. 'getBundle()'호출에서 원하는 로케일을 제공하는 것을 잊지 마십시오. – BalusC

답변

1

java.util.Properties에 메시지를 넣고 주어진 키는 당신에게 속성에서 값을 반환하는 경우 헬퍼 클래스가 다음


업데이트가 작동하는 것 같다.

당신이 I18 지원에서 찾고 있다면, 기본 당신은 답변으로 업데이트를 게시해야

+0

감사합니다. 내 매개 변수화가 '<< 1 >'또는'{0} '이면 문제가됩니까? 매개 변수화는 어떻게 사용합니까? –

+1

자바 리소스 번들은 매개 변수화를 위해 {}을 사용합니다. – mprabhat

+0

@mprat 감사합니다. 나는 매개 변수 화가 유효한 실제 사용법을보고 싶다고 생각한다. 태그를 사용하여 작업하는 방법을 알고 있으며 작동하지만 Java 코드에서도 수행해야합니다. –

관련 문제