0

1)我了解 CookieLocaleResolver 的语法如下:

<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="clientlanguage"/>      

我的理解是这个解析器在请求中搜索其值可能与语言环境匹配的所有 cookie ..so 属性名称设置为“Cookie 名称”但为什么该值也设置了 ..是不是我们正在替换语言环境值相应的 cookie。
2)是否可以在不唱 LocaleChangeInterceptor 的情况下更改语言环境?
3)在 SessionLocaleResolver 中,以下属性表示什么:

<property name="defaultName" value="clientlanguage"/>  

SessionLocale 是如何工作的?

4

1 回答 1

0

CookieLocaleResolver您需要指定 cookie 的名称。它搜索特定的 cookie,而不是任何包含类似语言环境的值的 cookie。在您的示例中,cookie 将被命名为clientlanguage.

SessionLocaleResolver将客户端区域设置存储在用户会话中。此 bean 上没有属性defaultName。但是有一个defaultLocale属性(类似的属性也是 on CookieLocaleResolver),如果用户没有明确切换到不同的语言环境,您可以在其中设置默认语言环境。

广告。更改语言环境 - 您可以通过调用来更改语言环境localeResolver.setLocale(...)。这就是LocaleChangeInterceptor正在做的事情。

于 2013-06-10T11:04:33.020 回答