스프링에서 기본적으로 메시지 관리 기능을 제공하고 있다.
명칭을 통합으로 관리할 수 있고, 국제화도 가능하다.
메시지 관리 세팅
- 스프링 프로젝트
스프링에서는 'MessageSource'를 스프링 빈으로 등록하면된다.
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new
ResourceBundleMessageSource();
messageSource.setBasenames("messages", "errors");
messageSource.setDefaultEncoding("utf-8");
return messageSource;
}
- 스프링 부트 프로젝트
스프링 부트를 사용하면 빈 등록을 하지 않아도 자동으로 파일을 찾아준다.
📑application.properties
spring.messages.basename=messages,config.i18n.messages
//또는
application.properties
파일 위치 : /resources/messages.properties
파일 명 : messages_ko.properties , messages_en.properties, messages_ko.properties
※ 파일 인코딩 UTF-8 로 되어 있는지 확인 후 진행필요.
타임리프 표현식
#{...}
📑messages.properties
page.addItem=상품 등록
📑form.html
<h2 th:text="#{page.addItem}">상품 등록 폼</h2>
- 파라미터도 전달 가능
📑messages.properties
hello.name=안녕 {0}
📑form.html
<h2 th:text="#{hello.name(${item.itemName})}">상품 상세</h2>
국제화
LocaleResolver : 언어 선택을 변경 할 수 있도록 도와준다.
LocaleResolver 구현체를 변경해서 쿠키나 세션 기반의 Local 을 선택할 수 있다.
'BackEnd > Spring Boot' 카테고리의 다른 글
[ Spring ] 게시판 페이징 VO 요소 (0) | 2023.03.30 |
---|---|
[ Spring Boot ] Thymeleaf (0) | 2023.03.25 |
[ Spring Boot ] 로깅 SLF4J - @Slf4j (0) | 2023.03.23 |
[ Spring Boot ] Server 연결 (2) - 실제로 많이 사용되는 구조와 네이버 Api 연결해보기 (1) | 2023.03.13 |
[ Spring Boot ] Server 연결 (1) Get/Post- UriComponentsBuilder · RestTemplate (0) | 2023.03.12 |