더북(TheBook)

코드 3-6에서 먼저 주목할 사항은 Locale.US를 디폴트 로케일로 설정했다는 것이다. 메시지를 조회할 때 Locale을 설정하지 않으면 messageSourceLocaleResolver로 설정된 디폴트 로케일을 사용한다.

messageSource.setUseCodeAsDefaultMessage(true);

메시지를 찾을 수 없는 경우 이 옵션은 메시지 코드 'license.creates.message'를 반환한다.

"No message found under code 'license.creates.message' for locale 'es'

마지막으로 messageSource.setBasenames("messages") 호출은 메시지 소스 파일의 기본 이름을 messages로 설정한다. 예를 들어 이탈리아에 있다면 Locale.IT를 사용하고 messages_it.properties라는 파일을 갖는다. 특정 언어로 된 메시지를 찾을 수 없는 경우 메시지 소스는 message.properties라는 디폴트 메시지 파일에서 검색한다.

이제 메시지를 구성해 보자. 이 예제에서는 영어와 스페인어 메시지를 사용한다. 이를 위해 /src/main/resources 폴더 아래에 다음 파일을 생성해야 한다.

messages_en.properties

messages_es.properties

messages.properties

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.