기존에 정해놓았던 문구가 있었는데, 업체가 문구를 바꿔달라고 요청한다면 해당 문구가 적혀있는 모든 코드들을 수정해야해서 유지보수 측면에서 본다면 하드코딩된 문구들이 많은 것은 좋지 않다. 그리고 해외에서 접속 시 한글이 아닌 영어로 페이지를 나타내고 싶다면 어떻게 해야할까?
이것을 해결해줄 메시지와 국제화에 대해 소개한다.
메시지
동적으로 문구를 출력하려면 먼저 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 |