request.getLocal();可以得到默认的语言,那如果指定呢?
1 你会看到许多网站都是采用一个参数的形似,比如 ?lang=zh_CN&id=。。
2 当然你可以把这个参数保存到cookie
3 或者干脆给每个做一个单独的链接,比如 /zh/....你可以到 遨游或者Firefox 的网站,包括微软的网站看看他们是如何切换语言的
1 你会看到许多网站都是采用一个参数的形似,比如 ?lang=zh_CN&id=。。
2 当然你可以把这个参数保存到cookie
3 或者干脆给每个做一个单独的链接,比如 /zh/....你可以到 遨游或者Firefox 的网站,包括微软的网站看看他们是如何切换语言的
解决方案 »
- 多个进程从一个表中取数据,如何保证各个进程不取重复数据
- 从文件中读出省市级信息添加到数据库,数据库格式如下
- 怎么能把dos中输出的内容倒到txt文本中?dos中标记完了也不能复制啊
- 有关 myeclipse 下 herbinate + oracle
- 寻找熟悉ws-security跨平台调用的高手
- jsp+apache james服务器的邮件解析的问题
- 请问这样处理的XML该怎么写?
- sping配置文件出错
- 两个Tomcat服务器同时在一台PC里运行时, 环境变量CataLina_home怎样设置呢?(帮帮忙)
- 求救!!!tomcat jndi出错
- 两个web应用的session问题!!!
- weblogic8.1.6部署完毕,web服务只能在本机访问!
1 自己做一个Request的Wrapper,然后Override他的getLocal()方法,返回你自己的
2 用Filter来截获Request
参考我的一个应用,你自己注意其中的如下部分class ReduceWrapper extends HttpServletResponseWrapper {
2.如果想让用户自己选择。那就要做链接,通过参数传进去。自己改变locale,来改变i18n文件
<property name="basename" value="messages" />
</bean> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> <bean id="defaultUrlMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="interceptors" ref="localeChangeInterceptor" />
<property name="order">
<value>1</value>
</property>
</bean>下面是想根据用户选择设置localeSessionLocaleResolver sessionLocale=new SessionLocaleResolver();
switch (Integer.parseInt(language)) {
case 0:
sessionLocale.setLocale(request, response, Locale.CHINA);
session.setAttribute(Globals.LOCALE_KEY, Locale.CHINESE);
request.getLocale().setDefault(Locale.CHINESE);
break;
case 1:
session.setAttribute(Globals.LOCALE_KEY, Locale.TAIWAN);
sessionLocale.setLocale(request, response, Locale.TAIWAN);
request.getLocale().setDefault(Locale.TAIWAN);
break;
case 2:
session.setAttribute(Globals.LOCALE_KEY, Locale.ENGLISH);
sessionLocale.setLocale(request, response, Locale.ENGLISH);
request.getLocale().setDefault(Locale.ENGLISH);
break;
default:
session.setAttribute(Globals.LOCALE_KEY, Locale.CHINESE);
sessionLocale.setLocale(request, response, Locale.CHINA);
request.getLocale().setDefault(Locale.CHINESE);
break;
}
结果是全部无效.
老紫竹给的这个链接,没权限拜读.