기존에 정해놓았던 문구가 있었는데, 업체가 문구를 바꿔달라고 요청한다면 해당 문구가 적혀있는 모든 코드들을 수정해야해서 유지보수 측면에서 본다면 하드코딩된 문구들이 많은 것은 좋지 않다. 그리고 해외에서 접속 시 한글이 아닌 영어로 페이지를 나타내고 싶다면 어떻게 해야할까?

 

이것을 해결해줄 메시지와 국제화에 대해 소개한다.

 

메시지

동적으로 문구를 출력하려면 먼저 message.properties 파일을 만들어주고 파일 내에 적용시킬 키워드와 값을 지정해준다.

 

message.properties

page.addItem=상품 등록
page.name=페이지 이름은 {0}

여기서 {0}은 파라미터 값으로 여기에 값을 지정해서 넣어줄 수 있다.

 

타임리프에서 활용시

<h2 th:text="#{page.addItem}">상품 등록</h2>
<p th:text="#{page.name(${item.itemName})}">페이지 이름은 상품</p>

타임리프로 적용시 #{적용시킬메시지} 해주면 message.properties 내의 문구만 수정한다면 동적으로 적용이 되고,

파라미터 값은 ()괄호 안에 지정해주면 파라미터 값이 출력된다.

 

 

국제화

해외는 보통 영어로 소통하니 영어로 된 메시지를 만들기 위해 message_en.properties 파일을 만들고 똑같이 메시지를 지정해준다.

 

message_en.properties

page.addItem=Item Add

이렇게하고 브라우저의 언어를 영어로 바꾸면 영어로 출력되는 것을 확인할 수 있다.

 

이 원리는 Accept-Language 헤더값에 따라 동적으로 출력되는 원리이다.

'Spring > SpringMVC' 카테고리의 다른 글

스프링 로그인 - 쿠키, 세션  (0) 2023.02.12
스프링 검증 - Bean Validation  (0) 2023.02.11
스프링 검증  (0) 2023.02.10
타임리프 - 스프링 통합과 폼  (0) 2023.02.05
타임리프 기본 기능 모음  (0) 2023.02.04

+ Recent posts