|
阅读:2672回复:5
Spring切换页面语言(切换Locale)
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 |
|
|
|
1C#
发布于:2007-09-22 19:40
Re:Spring切换页面语言(切换Locale)
没用过spring的mvc,听说大量的使用了拦截器,看你的例子应该是做国际化的时候使用的interceptor
很可惜,没有人参与和你讨论. |
|
|
2C#
发布于:2007-09-24 09:45
Re:Spring切换页面语言(切换Locale)
大环境就是这样,无有办法的啦 |
|
|
|
4C#
发布于:2007-09-24 14:26
Re:Spring切换页面语言(切换Locale)
楼上……偶的书是借你了么,不记得了,好像没找着
最近入手不少厚书 |
|
|
|
5C#
发布于:2007-09-24 17:47
Re:Spring切换页面语言(切换Locale)
落了些灰尘~有时间给你,我放宿舍了现在,呵呵 |
|