[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>
...




[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=테스트~



사용

CmsMessage.getMessage("test", new String[]{"메시지 테스트"});
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 Properties Message 사용하기|작성자 듀스포에

+ Recent posts