1. applicationContext.xml에 아래와 같은 설정을 해준다.
<!--message sources-->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:application"/>
<!-- Encoding 설정 -->
<property name="defaultEncoding" value="UTF-8"/>
<!-- Reload Cache 설정 -->
<property name="cacheSeconds" value="5"/>
</bean>
<bean id="LocaleResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="ko"/>
</bean>
//빈 각체에서 메시지 이용하기 위한 것
//ApplicationContextAware 인터페이스 구현 or
//MessageSourceAware 인터페이스 구현해서 getMessage()메서드 이용해서 메시지 사용해도 된다.
<bean id="messageSourceAccessor" class="org.springframework.context.support.MessageSourceAccessor">
<constructor-arg ref="messageSource"/>
</bean>
<bean id="message" class="com.legalcounsel.Common.LocaleMessage">
<property name="msAcc" ref="messageSourceAccessor"/>
</bean>
2. LocaleMessage 클래스 구현
package com.legalcounsel.Common;
import org.springframework.context.support.MessageSourceAccessor;
import java.util.Locale;
public class LocaleMessage {
private static MessageSourceAccessor msAcc = null;
public void setMsAcc(MessageSourceAccessor msAcc) {
this.msAcc = msAcc;
}
public static String getMessage(String key){
return msAcc.getMessage(key, Locale.getDefault());
}
public static String getMessage(String key, Object[] objs){
return msAcc.getMessage(key, objs, Locale.getDefault());
}
}
3. 파일 업로드에서 파일 경로 찾아오는 경우 사용함.
String filePath = LocaleMessage.getMessage("info.filePath");
public List<FileVO> saveAllFiles(List<MultipartFile> upfiles) {
List<FileVO> filelist = new ArrayList<>();
String filePath = LocaleMessage.getMessage("info.filePath");
for (MultipartFile uploadfile : upfiles) {
if (uploadfile.getSize() == 0) {
continue;
}
String newName = getNewName();
saveFileOne(uploadfile, getRealPath(filePath, newName), newName);
~~~~~~~~
'Back-end > Spring-핵심& webMVC' 카테고리의 다른 글
@transactional annotation (0) | 2021.06.08 |
---|---|
Querystring vs. @PathVariable 이용상 차이점 (0) | 2021.06.07 |
QueryString, request.getParameter, request.getParameterValues (0) | 2021.06.03 |
@ModelAttribute의 쓰임과 Model, ModelMap, ModelAndView (0) | 2021.05.11 |
ch5. 컴포넌트 스캔(#스프링5 프로그래밍 입문-최범균 저) (0) | 2021.05.07 |