У меня есть некоторые ресурсы, которые я хотел бы вернуть на основе запроса Locale. Могу ли я определить контроллер представления или обработчик ресурсов, который учитывает локаль?
В основном я могу сделать это:
@Controller()
public class StaticController extends BaseWebController {
@RequestMapping(value = "/")
public String getCatalogWithView(Model model, Locale locale) throws Exception {
if(locale == null){
locale = Locale.ENGLISH;
}
return String.format("forward:/%s/index.html", locale.getLanguage());
}
}
Путем настройки обработчика ресурсов, похожего на этот (но это будетверните "forward: /fr/index.html", если запрос имеет локаль FRENCH):
@Configuration
@EnableWebMvc
public class MvcConfigurationAdapter extends WebMvcConfigurerAdapter{
@Override
public void addViewControllers(ViewControllerRegistry registry)
registry.addViewController("/").setViewName("forward:/en/index.html");
}
}