2010-01-19 218 views
1

嗨,我想知道是否有可能在那裏創建全局攔截器並設置語言環境。spring 3 mvc攔截所有請求

我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> 

有作爲dispatchController在我的XML,所以我不能使用它,但想法是將攔截(以任何方式)都沒有這樣的事情。

我基本上會喜歡在URI後跟應用程序有點像 /FR /用戶/細節 /德/產品/高保真的開始與區域設置的URL 等

不同的控制器使用相同的約定重寫網址,從不使用siteLang控制器的具體原因。

謝謝

回答

3
<mvc:interceptors> 
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/> 
</mvc:interceptors>