весна 3 мвс перехватывает все запросы - PullRequest
1 голос
/ 19 января 2010

Привет, мне интересно, можно ли создать глобальный перехватчик и установить там локаль?

У меня есть правила 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, поэтому я не могу использовать его, кроме идеибыло бы перехватывать все (любым способом).

В основном я хотел бы иметь URL с локалью в начале uri, за которым следует бит приложения, такой как / fr / user / details / de / products / hifi и т. д.

различные контроллеры, использующие одно и то же соглашение переписывания URL и никогда не использующие siteLang по конкретным причинам контроллера.

Спасибо

1 Ответ

3 голосов
/ 23 февраля 2010
<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
</mvc:interceptors>
...