- 메시지
1. 다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다.
hello=안녕
hello.name=안녕 {0}
label.item=상품333
label.item.id=상품 ID333
label.item.itemName=상품명333
label.item.price=가격333
label.item.quantity=수량333
page.items=상품 목록333
page.item=상품 상세333
page.addItem=상품 등록333
page.updateItem=상품 수정333
button.save=저장333
button.cancel=취소333
- resources 폴더 아래 messages.properties라는 파일을 생성한 후 위와 같이 내용을 작성한다.
- 스프링 부트를 사용하면 스프링 부트가 MessageSource 를 자동으로 스프링 빈으로 등록한다.
- application.properties 파일에 아래와 같이 메시지 소스를 설정할 수 있다.
spring.messages.basename=messages,config.i18n.messages
- 스프링 부트 메시지 소스 기본 값
spring.messages.basename=messages
- MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다. 따라서 messages_en.properties , messages_ko.properties , messages.properties 파일만 등록하면 자동으로 인식된다.
- MessageSource 인터페이스
public interface MessageSource {
String getMessage(String code, @Nullable Object[] args, @Nullable String
defaultMessage, Locale locale);
String getMessage(String code, @Nullable Object[] args, Locale locale) throws
NoSuchMessageException;
- 타임리프 메시지 적용
label.item=상품
label.item.id=상품 ID
label.item.itemName=상품명
label.item.price=가격
label.item.quantity=수량
page.items=상품 목록
page.item=상품 상세
page.addItem=상품 등록
page.updateItem=상품 수정
button.save=저장
button.cancel=취소
- messages.properties에 위와 같이 작성되어 있다고 가정한다.
- 타임리프의 메시지 표현식 #{...} 를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다.
- 예를 들어서 방금 등록한 상품이라는 이름을 조회하려면 #{label.item} 이라고 하면 된다
- 랜더링 전
<div th:text="#{label.item}"></h2>
- 랜더링 후
<div>상품</h2>
출처 : 인프런 - 우아한 형제들 기술이사 김영한의 스프링 완전 정복 (스프링 핵심원리 - 기본 편)
728x90
'Programming > Spring' 카테고리의 다른 글
Spring - Bean Validation (0) | 2023.06.22 |
---|---|
Spring - 검증 1 - Validation (0) | 2023.06.22 |
Spring - 타임리프 - 기본 기능 (0) | 2023.06.20 |
Spring - 스프링 MVC - 기본 기능 (0) | 2023.06.18 |
Spring - 스프링 MVC - 구조 이해 (0) | 2023.06.18 |