0
私はnoobであり、スプリングブートアプリケーションの国際化を行いたいと思っています。これは、私が試したものであるが、それは仕事を得ることはできません。セッションオブジェクトからロケールを取得
@SpringBootApplication
public class CarriersApplication extends WebMvcConfigurerAdapter {
@Autowired WebContextHolder webContextHolder;
public static void main(String[] args) {
SpringApplication.run(CarriersApplication.class, args);
}
@Bean
public RestTemplate createRestTemplate() {
return new RestTemplate();
}
@Bean
public LocaleResolver localeResolver() {
HttpSession session = webContextHolder.getSession();
String lang = ((Merchant) session.getAttribute("principal")).getLanguage();
// the code above is an attempt to get language from session object to set the
// default locale
// ex: lang = en,fr
SessionLocaleResolver slr = new SessionLocaleResolver();
slr.setDefaultLocale(new Locale(lang));
return slr;
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
lci.setParamName("lang");
return lci;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
私の質問は:私はlocaleResolver()
メソッドを定義するときに、このように「校長セッションオブジェクトからロケールを取得する可能性はありますか?