Мне неизвестно о готовом решении для этого, но его достаточно легко реализовать с помощью пользовательского перехватчика и некоторых мудро выбранных отображений.
Написать реализацию HandlerInterceptor
который реализует preHandle
, так что строка языкового стандарта извлекается из URI запроса, а затем помечает запрос этим языковым стандартом ( см. исходный код для аналогичного LocalChangeInterceptor
, что делает то жевам нужно, но вместо параметра пути используется параметр запроса.
Затем подключите его , используя <mvc:interceptor>
например
<mvc:interceptors>
<mvc:interceptor>
<mapping path="/*"/>
<bean class="x.y.MyInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
Затем можно ослабитьотображение запроса на вашем контроллере для допуска (и игнорирования) языковой части URI:
@Controller
@RequestMapping(value = "*/news")
public class NewsController {
// Controller methods ...
}