갑자기 화면에 나오는 메세지를 한 번에 변경해야 하는 상황이 오면 어떻게 될까?
페이지가 100개, 1000개라면 모두 하나씩 변경해야하는데 생각만 해도 어지럽다.
타임리프 메세지 기능을 이용해 화면에 나오는 메세지들을 한 파일에 모아놓고 관리할 수 있다.
스프링 메세지 소스 설정
- 스프링에서 메세지 기능을 이요하려면 MessageSource를 스프링 빈으로 등록해야 한다.
- 하지만 스프링부트가 자동으로 등록해주므로 우리는 설정만 관리하면 된다.
- application.yml 에서 메세지 소스 파일 설정이 가능하다.
//aplication.yml
spring:
messages:
basename: message //기본 설정
//basename: project/config/message
웹에 메세지 기능 사용하기
//messages.properties
admin=어드민
service.user=[유저 서비스]
service.schedule=[스케줄 서비스]
service.workspace=[워크스페이스 서비스]
service.devLog=[개발일지 서비스]
<div class="header">
<h1><a href="/" th:text="#{admin}">Admin</a></h1>
<p><a href="/admin/devLogs" th:text="#{service.devLog}">[개발일지 서비스]</a></p>
</div>
다음과 같이 messages.properties를 만들어 설정해놓은 후
html 파일에서 th:text="#{...}"를 이용해 사용할 수 있다.
//messages_en.properties
admin=Admin
service.user=[User Service]
service.schedule=[Schedule Service]
service.workspace=[Workspace Service]
service.devLog=[DevLog Service]
messages_en.properties 등의 언어에 따른 파일을 분리해서 만들면
스프링이 LocaleResolver가 자동으로 국제화를 적용해준다.
따로 설정하지 않을 시 기본으로 Accept_Language 헤더를 읽어 적용해준다.
'Spring > Spring MVC' 카테고리의 다른 글
사지방에서 Spring 공부하기 Web MVC #8 - Bean Validation (0) | 2023.08.26 |
---|---|
사지방에서 Spring 공부하기 Web MVC #7 - Validation(검증) (0) | 2023.08.20 |
사지방에서 Spring 공부하기 Web MVC #5 - Thymeleaf 와 스프링 통합 (0) | 2023.08.19 |
사지방에서 Spring 공부하기 Web MVC #4 - Thymeleaf 활용한 Admin 페이지 만들기 (0) | 2023.08.16 |
사지방에서 Spring 공부하기 Web MVC #3 - 스프링 MVC 기본 기능 (0) | 2023.08.13 |