프로젝트[종료]

7. Spring Boot 메시지/국제화 기능 이용하기

알렉스 페레이라 2023. 4. 17. 20:38

Spring Boot에서 메시지기능이란 쉽게말해 하드코딩을 방지하는 기술이다. 물론 어딘가에는 해당 텍스트를 저장해야겠지만 하드코딩을 방지함으로 메시지 일괄변경이나 언어가 바뀔때 쉽게 대응할 수 있다.

재직중인 회사에서는 메시지를 DB테이블로 따로 관리하여 어디서든 가져오는데,, 난 사실 그게 더 익숙해서 좋다.

 

index.html을 메시지를 사용해 한글화 해보자.

index.html

 

 

Spring Boot에서 메시지를 사용하는 방법은 다음과 같다.

 

1. /resources 하위 디렉토리에 messages.properties 생성

메시지도 형상관리 하자

 

2.application.properties에 해당 파일을 등록한다.

spring.messages.basename=messages는 입력하지 않아도 기본값으로 Spring Boot에서 동작한다.

 

3. index.html에서 해당 메시지를 끌어다 사용한다.

 

ThymeLeaf를 사용하려면 해당 html파일의 html태그에 아래와 같이 추가한다

xmlns:th="http://www.thymeleaf.org"

 

th:text=""기능을 사용해 해당 태그의 text값을 ThymeLeaf가 제공하는 메시지 기능을  사용해 넣는다.

메시지는 #{}으로 감싸 사용한다.

 

4.재기동 후 확인

 

 

설정 파일 인코딩이 잘못 된거같다. IntelliJ Editor인코딩을 변경해준다. Settings > File Encodings 선택

Default encoding for properties files를 UTF-8로 변경해준다.

 

 

성공!