【问题标题】:spring 3 mvc intercept all requestsspring 3 mvc 拦截所有请求
【发布时间】:2010-01-19 17:51:05
【问题描述】:

您好,我想知道是否可以创建全局拦截器并在那里设置语言环境。

我有 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/用户/详细信息 /de/产品/高保真 等等

不同的控制器使用相同的重写 url 约定,并且出于控制器特定的原因从不使用 siteLang。

谢谢

【问题讨论】:

    标签: spring-mvc internationalization locale interceptor


    【解决方案1】:
    <mvc:interceptors>
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
    </mvc:interceptors>
    

    【讨论】:

      猜你喜欢
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2019-02-04
      • 2023-04-02
      相关资源
      最近更新 更多