다국어 지원 및 반복적으로 사용하는 문자열은 properties파일로 관리 가능
1. src/resources/에 사용할 문자열을 작성한 properties파일 등록
fail.common=실패
button.save=저장
...
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>메세지파일경로</value>
</list>
</property>
<!--인코딩 설정-->
<property name="defaultEncoding" value="UTF-8" />
<!-- properties 체크-->
<property name="cacheSeconds" value="값" />
</bean>
2-2. 자바파일로 Bean등록
@Bean
public MessageSource messageSource() { // Bean 이름은 messageSource여아 한다.
ResourceBundleMessageSource ms = new ResourceBundleMessageSource();
ms.getBasenames("파일명"); // resources/ 이후 경로
ms.setDefaultEncoding("UTF-8"); // 인코딩 설정
return ms;
}
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:messsage code="fail.common(불러올 텍스트의 key값)" text="code값이 없을 시 출력 할 메세지 설정"/>
msg.text={0}님, 반갑습니다
msg.fruits={0}, {1} 그리고 {2}
<spring:message code="msg.text" arguments="스미스"/>
-> 스미스님, 반갑습니다.
<spring:message code="msg.fruits" arguments="사과, 포도, 오렌지"/>
-> 사과, 포도 그리고 오렌지
사과, 포도 그리고 {2}
처럼 출력됨msg.text=안녕하세요
<spring message code="msg.text" var="greeting">
${greeting}
-> 안녕하세요