관리 메뉴

nalaolla

Spring Properties Message 사용하기 본문

SPRING

Spring Properties Message 사용하기

날아올라↗↗ 2016. 5. 11. 10:39
728x90
반응형

Spring Properties Message 사용하기



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

결과
메시지 테스트입니다.
테스트~

 

 

728x90
반응형