こんにちは、グローバル インターセプターを作成し、そこにロケールを設定することは可能でしょうか。
/fr/* を /*?siteLang=fr に書き換える urlrewrite ルールがあります。
パラメータに基づいてロケールを設定する方法の例を見ましたが、それらはすべて同じであり、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を使用しない異なるコントローラー。
ありがとう