`
wbj0110
  • 浏览: 1550562 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

1.定义一个对象;SelfLocaleResolver

Java代码  收藏代码
  1. public class SelfLocaleResolver extends AbstractLocaleResolver {  
  2.     @Override  
  3.     public Locale resolveLocale(HttpServletRequest request) {  
  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 setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {  
  13.     }  
  14.   
  15. }  

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

2.配置文件中加入

 

Xml代码  收藏代码
  1. <bean id="localeResolver" class="com.xxx.SelfLocaleResolver"/>  

 

3.结束

LocaleChangeInterceptor的源码:

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

 

 

Java代码  收藏代码
  1. public class LocaleChangeInterceptor extends HandlerInterceptorAdapter {  
  2.   
  3.   
  4.     @Override  
  5.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)  
  6.             throws ServletException {  
  7.                 //获取用户传递的参数  
  8.         String newLocale = request.getParameter(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. }  

 

附件中有源码。

 

 

 

分享到:
评论

相关推荐

    Spring_MVC_051:Spring MVC 学习总结(五)——校验与文件上传

    Spring MVC 学习总结(五)——校验与文件上传 目录 2.2.7、范围 2.2.8、其它注解 2.3、注解控制器参数 1.4、在UI中添加错误标签 1.5、测试运行 三、使用jQuery扩展插件Validate实现前端校验 3.1、jQuery扩展插件...

    Spring.3.x企业应用开发实战(完整版).part2

     《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    Spring3.x企业应用开发实战(完整版) part1

     《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练...

    spring-all:JavaEE开发颠覆者SpringBoot实战

    【14-SpringBoot——Spring MVC基础-自定义HttpMessageConverter&gt;&gt;&gt;】 【15-SpringBoot——Spring MVC基础-服务端推送技术&gt;&gt;&gt;】 【16-SpringBoot——Spring MVC基础-测试&gt;&gt;&gt;】 【17-SpringBoot——基础-概述&gt;&gt;&gt;】 ...

    spring mvc

    然而,如果是在定义自己的HandlerMappings 或HandlerAdapters , 就需要确保一个对应的自定义的DefaultAnnotationHandlerMapping 和 /或AnnotationMethodHandlerAdapter 同样被定义——假设想要使用@RequestMapping ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    低清版 大型门户网站是这样炼成的.pdf

    2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 struts 2内建拦截器介绍 95 2.6.2 定义和使用拦截器栈 97 2.6.3 使用自定义拦截器 98 2.7 小结 100...

    Java Web程序设计教程

    第13章 spring与javaee持久化数据访问 260 13.1spring对dao模式的支持 260 13.1.1统一的数据访问异常 260 13.1.2通用的数据访问模板及抽象支持类 261 13.2spring的jdbc 262 13.2.1为什么需要jdbctemplate 262...

    Grails权威指南

     8.4 国际化支持  8.4.1 标签  8.5 使用布局和模板  8.5.1 布局演示  8.5.2 按照惯例布局  8.5.3 使用meta标签进行布局  8.5.4 演示布局  8.5.5 理解模板  8.5.6 共享模板  ...

    javaSE代码实例

    第3章 表达式——描述行为的元素 22 3.1 不简单的算术运算符 22 3.1.1 “+”运算符 22 3.1.2 “-”运算符 24 3.1.3 “*”运算符 25 3.1.4 “/”运算符 25 3.1.5 “%”运算符 26 3.2 自增自减运算 27...

    GRAILS课程学习记录总结

    的最佳技术——最著名的当属 Spring 和 Hibernate——但是,Grails 并非只是它们的简单堆 砌。 从输入 grails create-app 的那一刻,你就可以看出这不同于你平时的 Java 开发项目。每一 种事物在 Grails 中都有其...

    Struts2 in action中文版

    第11章 理解国际化 240 11.1 Struts 2框架和Java i18n 241 11.1.1 使用ResourceBundle和Locale取得本地化文本 241 11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts ...

    finance-master汇尚电子商务商品管理系统.zip

    Hibernate 提供简单实用的持久层操作。 Shiro 简单而强大的安全框架。 DWZ富客户端框架 简单易学、方便扩展的富客户端框架。 Ehcache 缓存支持。 ? 3)?项目优势 a.?项目构建简单、架构清晰,可快速定制页面与编写...

    微信公众平台开发视频

    4. 微信公众平台开发之Spring MVC 27:12 5. 识别微信浏览器 24:40 6. 限制只允许微信浏览器访问 23:30 7. 一套程序服务多个账号---原始ID 17:46 8. 一套程序服务多个账号---URL传参 10:07 9. HTML5获取用户地理位置 ...

    webx3框架指南PDF教程附学习Demo

    • 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级成“组件”。一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx的非常好的扩展性,且比未经扩展的Spring更易...

    asp.net知识库

    自定义通用System.Web.UI.IHierarchicalDataSource简单实现 在 ASP.NET 2.0 中创建 Web 应用程序主题 ASP.NET 2.0 中的数据访问 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! 将 ASP.NET 2.0 应用程序服务...

    JAVA程序开发大全---上半部分

    12.2.5 Struts 2.0中的国际化编程 221 12.2.6 创建基于POJO的Action 223 12.3 Spring整合Struts 2.0框架 224 12.4 Struts 2.0应用实例:登录系统 227 12.5 本章小结 231 第13章 JPA的开发与应用 232 13.1 JPA规范...

Global site tag (gtag.js) - Google Analytics