minlog
article thumbnail

 

스프링에서 기본적으로 메시지 관리 기능을 제공하고 있다. 

명칭을 통합으로 관리할 수 있고, 국제화도 가능하다. 

 

메시지 관리 세팅

 

- 스프링 프로젝트

스프링에서는 '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 을 선택할 수 있다. 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!