Я новичок в Java Spring Boot. Мой вопрос: я установил локаль в конфигурационном файле и хочу изменить локаль нажатием кнопки на странице входа в систему, я пробовал все, что никогда не получалось. Надеюсь, что кто-то поможет мне достичь этого
Файл моей конфигурации:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer{
@Bean
public BCryptPasswordEncoder passwordEncoder() {
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
return bCryptPasswordEncoder;
}
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(new Locale("cs","CZ")); // change this
return localeResolver;
}
@Bean(name = "messageSource")
public MessageSource getMessageResource() {
ReloadableResourceBundleMessageSource messageResource= new ReloadableResourceBundleMessageSource();
// Read i18n/messages_xxx.properties file.
// For example: i18n/messages_en.properties
messageResource.setBasename("classpath:i18n/messages");
messageResource.setDefaultEncoding("UTF-8");
return messageResource;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
localeInterceptor.setParamName("lang");
registry.addInterceptor(localeInterceptor).addPathPatterns("/*");
}
}
Мой контроллер:
@RequestMapping(value = {"/login" }, method = RequestMethod.GET)
public ModelAndView userLogin() {
//System.out.print("LAnguage"+lang);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("login"); // resources/template/login.html
//modelAndView.addObject("errorMsg", "Invalid Credential");
return modelAndView;
}
Проверьте это:
Spring Boot - Смена языка при нажатии