78 lines
2.9 KiB
Java
78 lines
2.9 KiB
Java
package org.baeldung.spring;
|
|
|
|
import java.util.Locale;
|
|
|
|
import org.springframework.context.MessageSource;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
|
|
import org.springframework.web.servlet.LocaleResolver;
|
|
import org.springframework.web.servlet.ViewResolver;
|
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
|
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
|
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
|
|
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
|
import org.springframework.web.servlet.view.InternalResourceViewResolver;
|
|
import org.springframework.web.servlet.view.JstlView;
|
|
|
|
@Configuration
|
|
@EnableWebMvc
|
|
public class MvcConfig extends WebMvcConfigurerAdapter {
|
|
|
|
public MvcConfig() {
|
|
super();
|
|
}
|
|
|
|
// API
|
|
|
|
@Override
|
|
public void addViewControllers(final ViewControllerRegistry registry) {
|
|
super.addViewControllers(registry);
|
|
|
|
registry.addViewController("/login.html");
|
|
registry.addViewController("/logout.html");
|
|
registry.addViewController("/homepage.html");
|
|
registry.addViewController("/home.html");
|
|
registry.addViewController("/invalidSession.html");
|
|
registry.addViewController("/console.html");
|
|
registry.addViewController("/admin.html");
|
|
registry.addViewController("/registration.html");
|
|
}
|
|
|
|
@Bean
|
|
public ViewResolver viewResolver() {
|
|
final InternalResourceViewResolver bean = new InternalResourceViewResolver();
|
|
bean.setViewClass(JstlView.class);
|
|
bean.setPrefix("/WEB-INF/view/");
|
|
bean.setSuffix(".jsp");
|
|
|
|
return bean;
|
|
}
|
|
|
|
@Override
|
|
public void addInterceptors(InterceptorRegistry registry) {
|
|
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
|
|
localeChangeInterceptor.setParamName("lang");
|
|
registry.addInterceptor(localeChangeInterceptor);
|
|
}
|
|
|
|
@Bean
|
|
public LocaleResolver localeResolver() {
|
|
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
|
|
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
|
|
return cookieLocaleResolver;
|
|
}
|
|
|
|
@Bean
|
|
public MessageSource messageSource() {
|
|
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
|
|
messageSource.setBasename("classpath:messages");
|
|
messageSource.setUseCodeAsDefaultMessage(true);
|
|
messageSource.setDefaultEncoding("UTF-8");
|
|
messageSource.setCacheSeconds(0);
|
|
return messageSource;
|
|
}
|
|
|
|
} |