eunja511005 / AutoCoding

0 stars 0 forks source link

다국어 기능 추가 #29

Open eunja511005 opened 1 year ago

eunja511005 commented 1 year ago

신규 메세지 파일 생성

image

다국어 빈 설정(/Tutorial/src/main/java/com/eun/tutorial/config/MyWebMvcConfig.java)

@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }

    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver resolver = new SessionLocaleResolver();
        resolver.setDefaultLocale(Locale.KOREA);
        return resolver;
    }

}

JSP 설정

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<!-- 다국어 메시지 표시 -->
<fmt:message key="welcome.message" />

로그인시 언어 설정

                .successHandler(new AuthenticationSuccessHandler() {
                    @Override
                    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
                            Authentication auth) throws IOException, ServletException {

                                               if (auth != null && auth.isAuthenticated()) {
                                                       PrincipalDetails userDetailsImpl = (PrincipalDetails) auth.getPrincipal();
                                                        localeResolver.setLocale(request, response, new Locale(userDetailsImpl.getLanguage()));
                                               }

                        log.info("userInfo {}", auth.getPrincipal().toString());
                        log.info("authentication {}", auth.toString());
                        log.info("authentication Name {}", auth.getName());
                        response.sendRedirect("/main");
                    }
                });