Spring MVC国际化配置
来源:互联网 发布:淘宝借贷逾期 编辑:程序博客网 时间:2024/04/23 22:34
写在前面
项目开发中要考虑支持国际化,框架选用的是Spring MVC框架,这里查询相关资料,整理下Spring MVC如何配置并实现国际化。
具体实现
对于Spring MVC的国际化这里我是基于session来实现的,具体做法如下:
1、首先我们需要在XML配置文件中进行如下配置:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- 国际化信息所在的文件名 --> <property name="basename" value="lang.messages" /> <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> <property name="useCodeAsDefaultMessage" value="true" /> </bean>
这里核心的配置是配置资源文件路径"lang.messages",因为项目是通过maven进行构建的,因此各语言资源文件可以直接放在Maven项目的resources路径下。
2、基于session或cookies的要进行拦截配置,具体做法如下:
<mvc:interceptors> <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 --> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> </mvc:interceptors> <!--local解析器--><bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
3、编写Controller代码用于切换语言。
@RequestMapping("/lang")@ResponseBody public String lang(HttpServletRequest request){ String langType = request.getParameter("langType"); if(langType.equals("zh")){ Locale locale = new Locale("zh", "CN"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else if(langType.equals("en")){ Locale locale = new Locale("en", "US"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); } else request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale()); return null; }
3、准备语言文件,这里举例中文、English: messages_en.properties 和 messages_zh.properties
里面的内容已键值对的形式存储了前端界面需要的信息(各种语言),简单的看下英文文件里面的内容。
ms.sysName=Manager Systemms.copyRight=CopyRight@2014 CQms.langEN=Englishms.langZH=Chinese
4、前端界面调用。
项目使用的是Velocity模板引擎构建页面,在.vm文件中的调用方式为如下形式:
#springMessage("ms.copyRight")
1 0
- Spring MVC国际化配置
- Spring MVC国际化配置
- Spring MVC国际化配置
- Spring MVC国际化配置 (转帖)
- spring MVC 国际化实现配置
- Spring MVC I18N 国际化配置
- Spring MVC国际化配置(转载)
- JSR-303 Spring MVC 消息国际化 配置
- JSR-303 Spring MVC 消息国际化 配置
- spring mvc配置主题和国际化
- spring mvc系列文章 - Spring MVC国际化配置
- Spring MVC国际化
- Spring MVC国际化
- Spring MVC 国际化
- Spring MVC 国际化
- Spring mvc国际化
- spring mvc 国际化
- Spring MVC 国际化
- CentOS 6.6/Fedora 21 源码编译安装 mysql 5.6.22
- monkey测试一些常用的命令
- Qwt直方图例子注释
- libevent笔记-事件/事件循环
- 《泛型编程与STL》读书笔记
- Spring MVC国际化配置
- Java中设计模式——装饰类(传智播客毕老师视频讲解)
- heapSort之应用
- asp.net实现ftp上传代码(解决大文件上传问题)
- 复习pdo,插入,查询
- USACO 刷水
- 说“无法对数据库'Alarm'执行删除,因为它正用于复制”
- hive表数据导出到csv乱码原因及解决方案
- 1412202059-hpu-1005:C语言考试练习题_排列