-
Spring MVC - 타임리프로 MessageSource에 등록된 메시지 사용하기Spring/Spring MVC 2022. 2. 5. 13:31728x90반응형
타임리프에서 메시지 사용하기
타임리프의 메시지 표현식 #{ ... } 를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다. 아래 두 properties 파일을 만들어 간단하게 사용방법을 알아보자.
messages.properties
hello=안녕 메시지 hello.name=안녕 메시지 {0} label.item.itemName=상품명
messages_en.properties
hello=hello message hello.name=hello message {0} label.item.itemName=Item Name
타임리프를 이용한 메시지(message) 조회
- 메시지 표현식 #{ ... } 를 사용하여 메시지 조회
<h1 th:text="#{hello}" ></h1>
서버를 가동시켜 웹브라우저에서 HTML의 소스 코드를 보면 다음과 같다.
<h1 >안녕 메시지</h1>
타임리프를 이용한 메시지(message) 조회 - 매개변수 사용
- #{ 코드(매개변수) } 을 사용하여 매개변수를 이용한 메시지 조회가 가능하다.
- Spirng EL(변수 표현식)을 사용하여 매개변수를 전달해도 된다.
ex) <p th:text="#{hello.name(${item.itemName})}"></p>
<h1 th:text="#{hello.name('Spring')}"></h1>
서버를 가동시켜 웹브라우저에서 HTML의 소스 코드를 보면 다음과 같다.
<h1>안녕 메시지 Spring</h1>
국제화 메시지 선택
스프링에서는 HTTP 헤더에 언어 정보를 담고 있는 Accept-Language를 이용하여 해당 언어의 메시지를 선택한다. 따라서 웹브라우저에서 보낸 Accept-Language를 이용하여 해당 브라우저가 어떤 언어를 사용하는지 판단 후 해당 언어로 메시지를 조회하게 해 준다.
웹브라우저의 기본 설정에 따른 언어 순서를 영어가 최상단에 오게 설정하면 다음과 같이 영어로 메시지가 조회되는 것을 볼 수 있다.
<h1 th:text="#{hello}" ></h1> <h1 th:text="#{hello.name('Spring')}"></h1> <p th:text="#{label.item.itemName}">hello message Item Name</p>
728x90반응형'Spring > Spring MVC' 카테고리의 다른 글
Spring MVC - 스프링에서 제공하는 검증(Validation) 방법 (FieldError, ObjectError) (0) 2022.02.05 Spring MVC - 검증(Validation) 직접 구현하기 (0) 2022.02.05 Spring MVC - 스프링에서 제공하는 MessageSource 사용 방법 (메시지와 국제화 기능) (0) 2022.02.05 Spring MVC - 타임리프(Thymeleaf)을 사용한 Select box(셀렉트 박스) (0) 2022.02.04 Spring MVC - 타임리프(Thymeleaf)을 사용한 Radio button(라디오 버튼) (0) 2022.02.04