LocaleResolver和LocaleChangeInterceptor的语法说明

时间:2013-06-10 10:26:38

标签: java spring model-view-controller

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

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

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

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

SessionLocale是如何工作的?

1 个答案:

答案 0 :(得分:0)

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

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

广告。更改区域设置 - 您只需拨打localeResolver.setLocale(...)即可更改区域设置。这就是LocaleChangeInterceptor正在做的事情。