springMVC 国际化 多语言
springMVC 国际化(多语言) 配置
系统有时需要考虑多国人员使用(比如中国人、美国人、日本人、韩国人),面向不同国家的使用者应该能方便地在不同语言之间进行切换,比如中文、英文、日文、韩文。
常用的有两种方式:(1)根据浏览器默认语言设置系统语言; (2)根据页面连接手动选择系统语言(放入cookie);
还有session方式,没有细究。
一、两种方式设置的大概模样:
(1)浏览器设置
(2)页面连接设置
二、添加多语言支持
1、添加多语言文件*.properties
label文件:languages_zh.properties、languages_en.properties、languages_ja.properties;
message文件:messages_zh.properties、messages_en.properties、messages_jp.properties;
文件内容以键值对表示,如:user=User、user=\u7528\u6237\u540D、user=\u30E6\u30FC\u30B6\u30FC;
在properties文件中中文日文等英文以外的语言显示unicode编码。
unicode编码看起来确实有些不爽,现在也有好的解决方式,比如如下连接中的博文介绍:点击打开链接
2、springMVC配置文件:我的文件名是spring-mvc.xml
<!-- 配置国际化资源文件 --><bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basenames"><list><value>messages</value><value>languages</value></list></property></bean><bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> <property name="cookieMaxAge" value="604800"/><property name="defaultLocale" value="zh_CN"/><property name="cookieName" value="Language"></property></bean>
3、页面文件中添加jstl标签支持:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
4、页面使用多语言标签:
<label><fmt:message key="user"></fmt:message>:</label>
5、根据浏览器选择语言的场合,以上处理就OK了。在页面手动选择语言的场合,继续后面的操作:
(1)controller文件中添加RequestMapping
/*** 国际化设定* @date 2017/09* @param request* @param response* @throws Exception*/@RequestMapping(value="/setLocal")public void setLocal(HttpServletRequest request,HttpServletResponse response) throws Exception{String localType = request.getParameter("localType");if(localType.equals("zh")){resolver.setLocale(request, response, Locale.CHINA);}else if(localType.equals("en")){resolver.setLocale(request, response, Locale.ENGLISH);}else {resolver.setLocale(request, response, Locale.JAPAN);}}
(2)登录添加链接,并使链接请求上面controller中的处理:
<div><a href="javascript:void(0)" οnclick="setLocal('zh')"><fmt:message key="l.Chinese"></fmt:message></a><a href="javascript:void(0)" οnclick="setLocal('en')"><fmt:message key="l.English"></fmt:message></a><a href="javascript:void(0)" οnclick="setLocal('ja')"><fmt:message key="l.Japanese"></fmt:message></a></div>
<script type="text/javascript">function setLocal(local){$.post(ctx+"/setLocal",{localType:local},function(result){location.reload();});}</script>
以上!
springMVC 国际化 多语言相关推荐
- 关于SpringMVC国际化的问题--中文状态下运行正常,英文状态不正常
注意:这是我自己的分析,如有什么不对的地方请评论区指正. 问题描述: 昨天学习了关于SpringMVC国际化的知识,在所有代码完成的情况下,我在配置文件中配置i18n文件之后,浏览器出现在中文环境下好 ...
- Android架构篇-2 国际化多语言
Android架构篇-2 国际化多语言 实现功能: 1.默认采用系统语言 2.语言切换后实时生效 3.支持中英文 4.我的->设置->切换语言 思路:app首次初始设置为系统语言,用户在a ...
- ios架构篇-2 国际化多语言
关键字:ios,国际化,多语言 实现功能: 1.默认采用系统语言 2.语言切换后实时生效 3.支持中英文,包含页面.app名称.系统默认权限弹框(如相机相册权限) 思路:app首次初始设置为系统语言, ...
- java poi 导出 国际化_更好用的excel国际化多语言导出
不知道大家在开发中有没有遇到过『excel导出』的需求,反正我最近写了不少这种功能,刚开始利用poi,一行行的手动塞数据,生成excel,而且还有国际化需求,比如:标题栏有一列,用户切换成" ...
- android 指定语言的资源,Android国际化多语言切换
最近工作中突然要求要项目进行国际化,之前没遇到过.但是也很简单呀,只需要把添加一个相应语言的的strings.xml的资源文件就好了,不是吗?这样只要切换系统语言就能切换app的文字语言了. 但是由此 ...
- iOS 国际化多语言设置 xcode7
iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面 Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...
- Android8.0 学习 (17)Android国际化(多语言)实现,支持8.0
Android国际化(多语言)实现,支持8.0 前言 最近因为项目中使用了国际化,所以正好研究了下实现方法: 首先说下项目需求: 可以随着系统切换语言而切换语言,不支持的语言显示默认 用户可以选择语言 ...
- springBoot国际化多语言开发配置,中文OR英文支持一键切换
springBoot有许多的自动化配置,其中就包括多语言的autoConfiguration,打开org.springframework.boot.autoconfigure.context.Mess ...
- java国际化转换_java 实现国际化 中英文语言切换
[实例简介] java实现国际化中英文语言切换 java语言切换JSP国际化 [实例截图] [核心代码] JAVA国际化实现 └── struts01 ├── src │ ├── com │ ...
最新文章
- Apple苹果公司组织架构
- 你必须会的 JDK 动态代理和 CGLIB 动态代理
- FSWD_1_BasicHtmlCss
- java 反序列化漏洞简介
- 在Linux下快速搭建LAMP开发平台.doc
- bzoj4600 [Sdoi2016]硬币游戏 sg函数+结论
- 意见反馈接口php,用PHP制作的意见反馈表源码
- 1.Linux性能诊断 --- 入门命令100条
- 阿里云 Code Pipeline 体验
- Atitit 账号实名制验证等制度和手段 1. 实名制 - 身份证明的一种制度 免费编辑 修改义项名	1 1.1. 匿名制优缺点	2 1.2. 而实名制的弊端缺点是可影响信息安全,造成信息或隐私泄露。
- 设计模式(一) 六大原则
- php计算运费价格,PHP: UPS API, UPS 运费计算, UPS接口
- 建无根树+无根树转有根树
- 中学计算机课小课题,中学信息技术课题题目
- matlab读取数据流,【OpenBCI】(1):Matlab实时读取数据流(labstreaminglayer)
- 手把手教你用键盘开机
- 计算机二级考试vb内容,计算机二级VB考试内容大纲
- AD2428W手册解读之操作与配置
- csharp c++
- Keil环境添加STC系列单片机