您好我想知道是否可以创建全局拦截器并在那里设置语言环境。
我有 urlrewrite 规则将 /fr/* 重写为 /*?siteLang=fr
我看到了如何根据参数设置语言环境的示例,但它们都是相同的,并且需要我使用 url 映射。是否可以在全局范围内执行此操作,以便在每个请求上调用语言环境拦截器,无论它用于什么控制器?
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="siteLang"/>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
<property name="mappings">
<value>
/*=dispatchController
</value>
</property>
</bean>
我的 xml 中没有 dispatchController 这样的东西,所以我不能使用它,但想法是拦截一切(以任何方式)。
我基本上希望在 uri 开头有带有语言环境的 url,然后是 /fr/user/details /de/products/hifi 等应用程序位
不同的控制器使用相同的重写 url 约定,并且出于控制器特定的原因从不使用 siteLang。
谢谢