[spring-application.xml]
...
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="cms/messages" /> <!-- messages.properties source 경로 --> <!-- 여러개일경우 property태그 안에<list><value>cms/messages</value></list>로 변경 -->
</bean>
<bean id="messageSourceAccessor" class="org.springframework.context.support.MessageSourceAccessor">
<constructor-arg ref="messageSource"/>
</bean>
<bean id="message" class="cms.util.CmsMessage">
<property name="messageSourceAccessor" ref="messageSourceAccessor"/>
</bean>
...
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="cms/messages" /> <!-- messages.properties source 경로 --> <!-- 여러개일경우 property태그 안에<list><value>cms/messages</value></list>로 변경 -->
</bean>
<bean id="messageSourceAccessor" class="org.springframework.context.support.MessageSourceAccessor">
<constructor-arg ref="messageSource"/>
</bean>
<bean id="message" class="cms.util.CmsMessage">
<property name="messageSourceAccessor" ref="messageSourceAccessor"/>
</bean>
...
[CmsMessage.java]
package cms.util;
import java.util.Locale;
import org.springframework.context.support.MessageSourceAccessor;
/**
* Message
* @author J.H.Kim
*/
public class CmsMessage {
/**
* MessageSourceAccessor
*/
private static MessageSourceAccessor msAcc = null;
public void setMessageSourceAccessor(MessageSourceAccessor msAcc) {
CmsMessage.msAcc = msAcc;
}
/**
* KEY에 해당하는 메세지 반환
* @param key
* @return
*/
public static String getMessage(String key) {
return msAcc.getMessage(key, Locale.getDefault());
}
/**
* KEY에 해당하는 메세지 반환
* @param key
* @param objs
* @return
*/
public static String getMessage(String key, Object[] objs) {
return msAcc.getMessage(key, objs, Locale.getDefault());
}
}
[message.properties]
test={0}입니다.
test1=테스트~
test1=테스트~
사용
CmsMessage.getMessage("test", new String[]{"메시지 테스트"});
CmsMessage.getMessage("test1");
결과
메시지 테스트입니다.
테스트~
CmsMessage.getMessage("test1");
결과
메시지 테스트입니다.
테스트~
TAG사용
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
...
<spring:message code='test' arguments='메시지테스트' var="testMessage"/>
<spring:message code='test1' var="testMessage1"/>
...
${testMessage}
${testMessage1}
...
결과
메시지 테스트입니다.
테스트~
...
<spring:message code='test' arguments='메시지테스트' var="testMessage"/>
<spring:message code='test1' var="testMessage1"/>
...
${testMessage}
${testMessage1}
...
결과
메시지 테스트입니다.
테스트~
[출처] Spring Properties Message 사용하기|작성자 듀스포에