18.8.5LocaleChangeInterceptor

You can enable changing of locales by adding theLocaleChangeInterceptorto one of the handler mappings (seeSection18.4, “Handler mappings”). It will detect a parameter in the request and change the locale. It callssetLocale()on theLocaleResolverthat also exists in the context. The following example shows that calls to all*.viewresources containing a parameter namedsiteLanguagewill now change the locale. So, for example, a request for the following URL,http://www.sf.net/home.view?siteLanguage=nlwill change the site language to Dutch.

您可以通过将LocaleChangeInterceptor添加到其中一个处理程序映射(请参见第18.4节“处理程序映射”)来启用区域设置的更改。 它将检测请求中的参数并更改语言环境。 它调用上下文中也存在的LocaleResolver上的setLocale()。 以下示例显示调用包含名为siteLanguage的参数的所有* .view资源现在将更改语言环境。 因此,例如,对以下URL(http://www.sf.net/home.view?siteLanguage=nl)的请求会将网站语言更改为荷兰语。

<bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="siteLanguage"/>
</bean>

<bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>

<bean id="urlMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="interceptors">
        <list>
            <ref bean="localeChangeInterceptor"/>
        </list>
    </property>
    <property name="mappings">
        <value>/**/*.view=someController</value>
    </property>
</bean>

results matching ""

    No results matching ""