2017-09-19 28 views
1
@RequestMapping(method = RequestMethod.GET) 
    public ModelAndView viewMain(Locale locale) { 

     Locale currentLocale = LocaleContextHolder.setLocale(Locale.US); 
     ModelAndView modelAndView = new ModelAndView(); 
     modelAndView.addObject("locale", currentLocale); 
     LOG.info("main " /* + name*/ + "page shown"); 
     modelAndView.setViewName("main_page"); 
     return modelAndView; 
    } 

setLocaleをLocale.USにしようとすると、voidがロケールに変換できないというエラーが発生します。しかし、Locale.USは無効ではありません。 setLocaleをgetLocale()に変更すると、すべて正常に動作します。LocaleContextHolder.setLocale voidをロケールに変換できません

答えて

0

これは、LocaleContextHolder.setLocale() returns voidが原因で発生します。

だからそこにそれを設定し、以下のそれを得る:

@RequestMapping(method = RequestMethod.GET) 
    public ModelAndView viewMain(Locale locale) { 

     LocaleContextHolder.setLocale(Locale.US); 
     Locale currentLocale = LocaleContextHolder.getLocale(); 
     ModelAndView modelAndView = new ModelAndView(); 
     modelAndView.addObject("locale", currentLocale); 
     LOG.info("main " /* + name*/ + "page shown"); 
     modelAndView.setViewName("main_page"); 
     return modelAndView; 
    } 
関連する問題