728x90
로케일 관련 텍스트 메시지 파일 생성
로케일 관련 텍스트 메시지 파일은 외부화 해서 웹 페이지와 독립적으로 개발하는 것이 효율적입니다. 스프링은 MessageSource
인터페이스를 구현한 메시지 소스로 텍스트 메시지를 해석할 수 있다.
messageSource
를 Bean으로 등록하면, DispatcherServlet이 자동 감지하여 등록합니다. MessageSource 인터페이스의 구현체인 ResourceBundleMessageSource
클래스는 로케일마다 따로 리소스 번들을 생성하고 이를 이용하여 메시지를 해석합니다.
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages"); // 기본 이름이 messages 리소스 번들을 로드
messageSource.setDefaultEncoding("UTF-8"); // 인코딩 설정하지 않으면 한글은 깨져서 보임
return messageSource;
}
Message 리소스 번들 생성
resources 폴더 아래에 messages.properties, messages_ko.properties, messages_en.properties 등 로케일 파일을 생성한다.
Thymeleaf 템플릿 엔진에서 다국어 처리
<!DOCTYPE HTML>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Locale Text Message Example</title>
</head>
<body>
<div>
<span th:text="#{welcome.message}"/>
</div>
</body>
</html>
'Spring' 카테고리의 다른 글
ServletContextListener 이벤트 처리 (0) | 2019.07.26 |
---|---|
스프링에서 Exception 핸들러 매핑하기 (0) | 2019.07.25 |
Thymeleaf 에서 현재 로케일 값 출력하기 (0) | 2019.07.25 |
데이터 암호화를 위한 JPA Attribute Converter (0) | 2019.06.10 |
Spring Core 라이브러리 이용해서 Properties 파일 데이터 읽기 (0) | 2019.05.28 |
댓글