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是如何工作的?
答案 0 :(得分:0)
在CookieLocaleResolver
中,您需要指定Cookie的名称。它搜索特定的cookie,而不是任何包含类似语言环境值的cookie。在您的示例中,Cookie将命名为clientlanguage
。
SessionLocaleResolver
将客户端区域设置存储在用户会话中。此bean上没有属性defaultName
。但是有defaultLocale
属性(类似属性也在CookieLocaleResolver
上),如果用户没有明确切换到另一个,则可以设置默认语言环境。
广告。更改区域设置 - 您只需拨打localeResolver.setLocale(...)
即可更改区域设置。这就是LocaleChangeInterceptor
正在做的事情。