728x90
- 스프링은 기본적인 메시지 관리 기능을 제공한다.
- 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 되는데, MessageSource는 인터페이스이다. 따라서 구현체인 ResourceBundleMessageSource를 스프링 빈으로 등록하면 된다
@Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultEncoding("utf-8"); return messageSource; }
- SpringBoot를 사용하면 해당 빈을 자동으로 등록해 준다.
- basenames : 설정 파일의 이름을 지정한다.
- messages 로 지정하면 messages.properties 파일을 읽어서 사용한다.
- 추가로 국제화 기능을 적용하려면 messages_en.properties , messages_ko.properties 와 같이 파일명 마지막에 언어 정보를 주면 된다.
- 만약 찾을 수 있는 국제화 파일이 없으면 messages.properties (언어정보가 없는 파일명)를 기본으로 사용한다.
- 파일의 위치는 /resources/messages.properties 에 두면 된다. 여러 파일을 한번에 지정할 수 있다.
- defaultEncoding : 인코딩 정보를 지정한다. utf-8 을 사용하면 된다.
- defaultEncoding : 인코딩 정보를 지정한다. utf-8 을 사용하면 된다.
- 스프링 부트 메시지 소스 기본 값
- spring.messages.basename=messages
- MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages라는 이름으로 기본 등록된다
- messages_en.properties , messages_ko.properties , messages.properties 파일만 등록하면 자동으로 인식된다
- spring.messages.basename=messages
- messages.properties
-
hello=안녕 hello.name=안녕 {0}
-
- messages_en.properties
hello=hello
hello.name=hello {0}
728x90
'스프링 MVC 2편(백엔드 웹 개발 활용 기술)' 카테고리의 다른 글
| Ch03. 메시지, 국제화 - 웹 애플리케이션에 메시지 적용하기 (0) | 2022.03.13 |
|---|---|
| Ch03. 메시지, 국제화 - 스프링 메시지 소스 사용 (0) | 2022.03.13 |
| Ch02. 타임리프(스프링 통합과 폼) - 셀렉트 박스 (0) | 2022.03.11 |
| Ch02. 타임리프(스프링 통합과 폼) - 라디오 버튼 (0) | 2022.03.11 |
| Ch02. 타임리프(스프링 통합과 폼) - 체크 박스(멀티) (0) | 2022.03.11 |