samedi 18 avril 2015

ReloadableResourceBundleMessageSource not working

Currently im working on a new Spring 4 + Thymeleaf + Security project without XML bean files. Somehow the localization property files are not loading and i cant find anything about them in the log files.



/**
* Generates the i18n language loader.
*
* @return
*/
@Bean(name="messageSource")
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource resource = new ReloadableResourceBundleMessageSource();
resource.setBasename("classpath:messages");
resource.setDefaultEncoding("UTF-8");
resource.setUseCodeAsDefaultMessage(true);
resource.setFallbackToSystemLocale(false);
return resource;
}

/**
* Generates the i18n language changer parameter.
*
* @return
*/
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
return localeChangeInterceptor;
}

/**
* Genereates the default i18n language.
*
* @return
*/
@Bean(name = "localeResolver")
public SessionLocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(new Locale("en"));
return localeResolver;
}

/**
* Generates the template resolver for thymeleaf.
*
* @return
*/
@Bean
public ServletContextTemplateResolver templateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setCacheable(false);
return resolver;

}

/**
* Generates the template engine for thymeleaf.
*
* @return
*/
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(templateResolver());
engine.addDialect(new SpringSecurityDialect());
return engine;
}

/**
* Generates the view resolver from Spring MVC with thymeleaf intergrated.
*
* @return
*/
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setOrder(1);
viewResolver.setViewNames(new String[]{"*"});
viewResolver.setCache(false);
return viewResolver;
}

/**
* Add resources.
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**").addResourceLocations("/WEB-INF/assets/");
}

/**
* Add interceptors.
*
* @param registry
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}


File names in the src/main/resources/ folder:



  • messages.properties

  • messages_en.properties

  • messages_nl.properties


Is there anyone who can help me out?


Aucun commentaire:

Enregistrer un commentaire