Java WEB系统国际化经验总结
2017-10-16 18:26
405 查看
作者:朱金灿
来源:http://blog.csdn.net/clever101
并行处理系统的国际化主要包括前端的国际化、后端的国际化和算法的国际化。前端的国际化包括css、js和html文件的国际化,后端的国际化包括jsp、java代码的国际化。
jsp的国际化方式的方式是采用国际化标签库的方式。具体是在jsp页面添加如下代码:
html页面的国际化(含Javascript的国际化)采用读取Properties文件的方式,具体参考使用jQuery.i18n.properties实现 Web 前端的国际化的实现方式。和文中不一样的是,不再是用户手动选择语言版本,而是改用js读取语言版本配置文件来决定读取哪个版本资源文件。代码大致如下:
其它的js可以这样调用:
java部分的国际化,采用读取语言配置文件,语言配置文件大致如下:
然后增加一个Java读取这个配置文件的类:
调用代码如下:
css的国际化另外写文章进行论述。
参考文献:
1. 用jQuery.i18n.properties实现 Web 前端的国际化
2. 使用JSP的fmt标签实现国际化支持
3.JavaWeb 后端 <十三> 之 监听器 JSTL国际化
4. EL表达式 JSTL中的常用EL函数 动态数据的国际化
来源:http://blog.csdn.net/clever101
并行处理系统的国际化主要包括前端的国际化、后端的国际化和算法的国际化。前端的国际化包括css、js和html文件的国际化,后端的国际化包括jsp、java代码的国际化。
jsp的国际化方式的方式是采用国际化标签库的方式。具体是在jsp页面添加如下代码:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> // 导入fmt库 <fmt:setLocale value="en_US"/> // 设置为英文,若设置为中文则是zh_CN <fmt:setBundle basename="jsp"/> //确保加载的是web\WebContent\WEB-INF\classes\jsp_en_US.properties文件 <script type="text/javascript" src="<c:url value='/resources/lib/jquery.i18n.properties-1.0.9.js'/>"></script> // 确保加载
html页面的国际化(含Javascript的国际化)采用读取Properties文件的方式,具体参考使用jQuery.i18n.properties实现 Web 前端的国际化的实现方式。和文中不一样的是,不再是用户手动选择语言版本,而是改用js读取语言版本配置文件来决定读取哪个版本资源文件。代码大致如下:
var bLoad= false; function getRootPath() { var pathName = window.location.pathname.substring(1); var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/')); return window.location.protocol + '//' + window.location.host + '/'+ webName; } function GetValueByKey(key){ if(!bLoad) { loadProperties(); bLoad=true; } var value = $.i18n.prop(key); return value; }; function loadProperties(){ var JsSrc = (navigator.language || navigator.browserLanguage).toLowerCase(); if(JsSrc.indexOf('zh')>=0) { JsSrc = 'js_zh_CN'; } else if(JsSrc.indexOf('en')>=0) { JsSrc = 'js_en_US'; } else { JsSrc = 'js_zh_CN'; } var i18npath = getRootPath()+ "/resources/js/" jQuery.i18n.properties({//加载资浏览器语言对应的资源文件 name:JsSrc, //资源文件名称 path: i18npath, //'resources/js/', //资源文件路径 mode:'map', //用Map的方式使用资源文件中的值 callback: function() {//加载成功后设置显示内容 } }); };
其它的js可以这样调用:
document.write("<script language=javascript src='common/taglibs.js'></script>"); // 这句放在最前面 var key = “user”; var value = GetValueByKey(key);
java部分的国际化,采用读取语言配置文件,语言配置文件大致如下:
<?xml version="1.0" encoding="UTF-8" ?> <properties> <category name="LangConf"> <property name="Lang" value="en_US" /> <!-- zh_CN --> <!-- en_US --> </category> </properties>
然后增加一个Java读取这个配置文件的类:
// 读取语言配置文件的语言配置类 public class LangConfInit { public static String language = null; public static ResourceBundle rb=null; public LangConfInit(){ if(null == language && null == rb){ language = ConfigUtil.getProperty("LangConf","Lang"); rb = ResourceBundle.getBundle("message_"+language); } } public String GetValue(String key) { try { String keyValue = new String(rb.getString(key).getBytes("ISO-8859-1"), "utf-8"); return keyValue; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; }
调用代码如下:
public LangConfInit lang =new LangConfInit(); String vaule = lang.GetValue("user");
css的国际化另外写文章进行论述。
参考文献:
1. 用jQuery.i18n.properties实现 Web 前端的国际化
2. 使用JSP的fmt标签实现国际化支持
3.JavaWeb 后端 <十三> 之 监听器 JSTL国际化
4. EL表达式 JSTL中的常用EL函数 动态数据的国际化
相关文章推荐
- WEB开发中的JAVA字符编码经验总结
- 去哪网实习总结:windows下配置JavaWeb环境、开发helloworld、发布系统(附截图,绝对详细)(JavaWeb)
- IT人必备:实用项目管理系列订餐系统实例化教学(Java版,10年IT经验总结,涉及测试
- [Java Web 第一个项目]客户关系处理系统(CRM)项目总结
- JavaWEB开发-国际化 --->张国亮总结第一节
- WEB开发中的JAVA字符编码经验总结
- Java web MVC(jsp,servlet,dao)+Bootstrap购物网站开发经验总结 (持续更新)
- Java Web项目开发项目经验总结
- WEB开发中的JAVA字符编码经验总结
- WEB开发中的JAVA字符编码经验总结
- Java Web项目开发项目经验总结
- WEB开发:WEB开发中的JAVA字符编码经验总结
- WEB应用系统安全防护经验总结
- Java Web技术经验总结(一)
- JavaWEB开发-国际化 --->张国亮总结第一节
- JAVA_WEB学习经验总结
- javaweb开发经验总结
- WEB开发中的JAVA字符编码经验总结
- WEB开发中的JAVA字符编码经验总结
- WEB开发中的JAVA字符编码经验总结