【问题标题】:Syntax explanation of LocaleResolver and LocaleChangeInterceptorLocaleResolver 和 LocaleChangeInterceptor 的语法解释
【发布时间】:2013-06-10 10:26:37
【问题描述】:

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 是如何工作的?

【问题讨论】:

    标签: java spring model-view-controller


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多