0
点赞
收藏
分享

微信扫一扫

spring mvc 3 国际化(下)——简单自定义操作


根据域名来判断用户语言:

1.定义一个对象;SelfLocaleResolver


1. public class SelfLocaleResolver extends
2. @Override
3. public
4. if ("127.0.0.1".equalsIgnoreCase(request.getRemoteHost())) {
5. return new Locale("zh");
6. else
7. return new Locale("en");
8. }
9. }
10.
11. @Override
12. public void
13. }
14.
15. }


 这里是表示 访问的域名是 127.0.0.1 则显示为中文 访问其它为英文

2.配置文件中加入

 


1. <bean id="localeResolver" class="com.xxx.SelfLocaleResolver"/>


 

3.结束

LocaleChangeInterceptor的源码:

LocaleChangeInterceptor 的作用:URL中传递一个参数来修改用户语言。http://localhost:8080?change=en

 

 

1. public class LocaleChangeInterceptor extends
2.
3.
4. @Override
5. public boolean
6. throws
7. //获取用户传递的参数
8. this.paramName);
9. if (newLocale != null) {
10. //localeResolver 为在配置文件中配置的对象
11. LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
12. if (localeResolver == null) {
13. throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?");
14. }
15. //cookie和session存储的时候才可以修改。
16. localeResolver.setLocale(request, response, StringUtils.parseLocaleString(newLocale));
17. }
18. return true;
19. }
20.
21. }

 

附件中有源码。

 

 

 



  • ​​springi18n.zip​​ (27.5 KB)
  • 下载次数: 2
举报

相关推荐

0 条评论