0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
阅读:2672回复:5

Spring切换页面语言(切换Locale)

楼主#
更多 发布于:2007-07-25 21:43
Spring切换页面语言(切换Locale)

原文地址: http://color-magic.cn/archives/55

敦煌网说要可以手动切换语言(做了国际化了已经),找了一下发现:
需要注意的是:

    * localeResolver要用CookieLocaleResolver而不是AcceptHeaderLocaleResolver,若是后者则会抛出异常:
      throw new UnsupportedOperationException(”Cannot change HTTP accept header - use a different locale resolution strategy”);
    * message.properties是不能被作为默认或是英文识别的,资源文件必须加上_en或_zh之类的后缀,如message_en.properties和message_zh.properties

    你可以使用LocaleChangeInterceptor修改本地化信息。这个拦截器需要被添加到处理器映射中(参考第 14.4 节 “处理器映射(handler mapping)”)。它可以侦测请求中某个特定的参数,然后调用上下文中的LocaleResolver中的 setLocale()方法,相应地修改本地化信息。
    <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>

    在上面这个例子中,所有对*.view资源的请求,只要包含参数siteLanguage,都会改变本地化信息。比如下面这个请求http://www.sf.net/home.view?siteLanguage=nl会将网站语言修改为荷兰语。


原文地址: http://color-magic.cn/archives/55
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
zdonking
普通会员
普通会员
  • 铜币9枚
  • 威望1点
  • 贡献值0点
1C#
发布于:2007-09-22 19:40
Re:Spring切换页面语言(切换Locale)
没用过spring的mvc,听说大量的使用了拦截器,看你的例子应该是做国际化的时候使用的interceptor
很可惜,没有人参与和你讨论.
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
2C#
发布于:2007-09-24 09:45
Re:Spring切换页面语言(切换Locale)
大环境就是这样,无有办法的啦
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
3C#
发布于:2007-09-24 10:45
Re:Spring切换页面语言(切换Locale)
学习一下。。。
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
4C#
发布于:2007-09-24 14:26
Re:Spring切换页面语言(切换Locale)
楼上……偶的书是借你了么,不记得了,好像没找着
最近入手不少厚书
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
万贤
作家
作家
  • 铜币1枚
  • 威望24点
  • 贡献值1点
5C#
发布于:2007-09-24 17:47
Re:Spring切换页面语言(切换Locale)
落了些灰尘~有时间给你,我放宿舍了现在,呵呵
游客

返回顶部