4.5.3.2. 국제화된 메시지 생성 및 사용
다음 절차에서는 국제화된 메시지를 만들고 사용하는 방법을 설명합니다.
이 섹션에서는 모든 선택적 기능이나 해당 메시지를 로컬화하는 프로세스에 대해서는 다루지 않습니다.
- 아직 완료하지 않은 경우 JBoss EAP Maven 리포지토리를 사용하도록 Maven 설정을 구성합니다. 자세한 내용은 Configure the JBoss EAP Maven Repository using the Maven Settings 에서 참조하십시오.
-
JBoss Logging Tools를 사용하도록 프로젝트의
pom.xml파일을 구성합니다. 자세한 내용은 JBoss Logging Tools Maven Configuration을 참조하십시오. 예외에 대한 인터페이스를 만듭니다. JBoss Logging Tools는 인터페이스에서 국제화된 메시지를 정의합니다. 포함된 메시지에 대해 각 인터페이스를 설명적으로 지정합니다. 인터페이스에는 다음 요구 사항이 있습니다.
-
공용으로 선언해야 합니다. -
@org.jboss.logging.annotations.MessageBundle으로 주석을 달아야 합니다. 인터페이스는 인터페이스와 동일한 유형의 메시지 번들인 필드를 정의해야 합니다.
예제:
MessageBundle인터페이스 만들기@MessageBundle(projectCode="") public interface GreetingMessageBundle { GreetingMessageBundle MESSAGES = Messages.getBundle(GreetingMessageBundle.class); }참고Messages.getBundle(GreetingMessagesBundle.class)호출은Messages.getBundle(GreetingMessagesBundle.class, Locale.getDefault())을 호출하는 것과 같습니다.locale
.getDefault()는 Java 가상 머신의 이 인스턴스에 대한 기본 로케일의 현재 값을 가져옵니다. Java Virtual Machine은 호스트 환경에 따라 시작 중에 기본 로케일을 설정합니다. 로케일이 명시적으로 지정되지 않은 경우 로케일이 중요한 여러 메서드에서 사용됩니다.setDefault방법을 사용하여 변경할 수 있습니다.자세한 내용은 JBoss EAP 구성 가이드에서 서버의 기본 로케일 설정을 참조하십시오.
-
각 메시지의 인터페이스에 메서드 정의를 추가합니다. 각 메서드가 나타내는 메시지에 대해 설명적으로 이름을 지정합니다. 각 방법에는 다음 요구 사항이 있습니다.
-
String유형의 오브젝트를 반환해야 합니다. -
@org.jboss.logging.annotations.Message 주석을 사용하여 주석을 달아야합니다. @org.jboss.logging.annotations.Message의 value 특성은 기본 메시지로 설정해야 합니다. 이 메시지는 번역을 사용할 수 없는 경우 사용됩니다.@Message(value = "Hello world.") String helloworldString();
-
메시지를 가져와야 하는 애플리케이션에서 인터페이스 메서드를 호출합니다.
System.out.println(helloworldString());
이 프로젝트는 이제 지역화할 수 있는 국제화된 메시지 문자열을 지원합니다.
전체 작업 예는 JBoss EAP와 함께 제공되는 logging-tools 빠른 시작을 참조하십시오.