PostIT

[Spring/java] 다국어 설정 참고 코드 본문

Spring/Etc

[Spring/java] 다국어 설정 참고 코드

shun10114 2016. 11. 7. 17:39

1. Config

// Message Source(Error part)

@Bean

public MessageSource messageSource() {

ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();

messageSource.setBasename("messages");

messageSource.setDefaultEncoding("UTF-8");

return messageSource;

}


// Language 설정부분

@Bean

public LocaleChangeInterceptor localeChangeInterceptor() {

LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();

// request로 넘어오는 language parameter를 받아서 locale로 설정한다.

localeChangeInterceptor.setParamName("language");

        return localeChangeInterceptor;

}


@Bean(name = "localeResolver")

public LocaleResolver sessionLocaleResolver() {

// 세션 기준으로 로케일을 설정한다.

SessionLocaleResolver localeResolver = new SessionLocaleResolver();

// 쿠키기준(세션이 끊겨도 브라우저에 설정된 쿠기기준)

// CookieLocaleResolver localeResolver2=new CookieLocaleResolver();

localeResolver.setDefaultLocale(new Locale("_KR"));

return localeResolver;

}

@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(localeChangeInterceptor());

}



2. Controller


messageSource.getMessage("non.unique.email", new String[] { user.getEmail() }, Locale.getDefault()));



3. View


Language : <a href="?language=en_US">ENGLISH</a> || <a href="?language=ko_KR">KOREA</a>

<hr>

Message : <spring:message code="hello.test" text="default text"/>

<hr>

Current Locale : ${pageContext.response.locale}

<hr>





Comments