4.5.3.2. 국제화된 메시지 생성 및 사용

다음 절차에서는 국제화된 메시지를 만들고 사용하는 방법을 설명합니다.

참고

이 섹션에서는 모든 선택적 기능이나 해당 메시지를 로컬화하는 프로세스에 대해서는 다루지 않습니다.

  1. 아직 완료하지 않은 경우 JBoss EAP Maven 리포지토리를 사용하도록 Maven 설정을 구성합니다. 자세한 내용은 Configure the JBoss EAP Maven Repository using the Maven Settings 에서 참조하십시오.
  2. JBoss Logging Tools를 사용하도록 프로젝트의 pom.xml 파일을 구성합니다. 자세한 내용은 JBoss Logging Tools Maven Configuration을 참조하십시오.
  3. 예외에 대한 인터페이스를 만듭니다. 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 구성 가이드에서 서버의 기본 로케일 설정을 참조하십시오.

  4. 각 메시지의 인터페이스에 메서드 정의를 추가합니다. 각 메서드가 나타내는 메시지에 대해 설명적으로 이름을 지정합니다. 각 방법에는 다음 요구 사항이 있습니다.

    • String 유형의 오브젝트를 반환해야 합니다.
    • @org.jboss.logging.annotations.Message 주석을 사용하여 주석을 달아야 합니다.
    • @org.jboss.logging.annotations.Message 의 value 특성은 기본 메시지로 설정해야 합니다. 이 메시지는 번역을 사용할 수 없는 경우 사용됩니다.

      @Message(value = "Hello world.")
      String helloworldString();
  5. 메시지를 가져와야 하는 애플리케이션에서 인터페이스 메서드를 호출합니다.

    System.out.println(helloworldString());

이 프로젝트는 이제 지역화할 수 있는 국제화된 메시지 문자열을 지원합니다.

참고

전체 작업 예는 JBoss EAP와 함께 제공되는 logging-tools 빠른 시작을 참조하십시오.