@Configuration
@EnableCaching
public class CommonConfig implements WebMvcConfigurer {
//theme
/**
* ResourceBundleThemeSource
* @return themeSource
*/
@Bean
public ThemeSource themeSource() {
ResourceBundleThemeSource themeSource = new ResourceBundleThemeSource();
themeSource.setBasenamePrefix("themes.style_");
return themeSource;
}
/**
* SessionThemeResolver
* @return themeResolver
*/
@Bean
public SessionThemeResolver sessionThemeResolver() {
SessionThemeResolver themeResolver = new SessionThemeResolver();
themeResolver.setDefaultThemeName("default");
return themeResolver;
}
/**
* CookieThemeResolver
* @return resolver
*/
@Bean
public CookieThemeResolver themeResolver(){
CookieThemeResolver resolver = new CookieThemeResolver();
resolver.setCookieMaxAge(31536000);
resolver.setDefaultThemeName("default");
return resolver;
}
/**
* ThemeChangeInterceptor
* @return ThemeChangeInterceptor
*/
@Bean
public ThemeChangeInterceptor themeChangeInterceptor(){
return new ThemeChangeInterceptor();
}
//message
/**
* MessageSource
* @return MessageSource
*/
@Bean
public MessageSource messageSource() {
System.out.println("CacheConfiguration.messageSource()");
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
//must be this style
messageSource.setBasename("classpath:language/Language");
return messageSource;
}
/**
* SessionLocaleResolver
* @return SessionLocaleResolver
*/
@Bean(name="localeResolver")
public SessionLocaleResolver sessionLocaleResolver() {
System.out.println("CacheConfiguration.sessionLocaleResolver()");
return new SessionLocaleResolver();
}
/**
* LocaleChangeInterceptor
* @return LocaleChangeInterceptor
*/
@Bean
public LocaleChangeInterceptor localeChangeInterceptor(){
System.out.println("LocaleChangeInterceptor");
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
lci.setParamName("lang");
return lci;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(themeChangeInterceptor());
registry.addInterceptor(localeChangeInterceptor());
}
}
springboot2.0 实现WebMvcConfigurer完成主题与多语言监听器
最新推荐文章于 2024-03-06 20:36:41 发布