转自:http://blog.sina.com.cn/ljtwoaibeijing
方案一:
J2EE国际化主要包括用户交互信息国际化、编码国际化两个方面
一、提示信息国际化
1、把程序中一些常用字符串常量统一放在资源文件信息中,如:“用户名或密码错误”,“姓名:”等,同时存在两类具体问题
1)JSP、Java文件中的信息国际化
采用Struts,Spring或自定义java+jspTag解决方案
java中使用
Message.getString(“BIZ_NAME”);
JSP中使用标签
<i18n:message key=”CUST_NAME”/>
2)html,js,css,image中静态信息信息国际化
对于这三种元素,需要根据不同的语言环境加载不同的资源文件。我们可以在jsp对应的目录下建立一个resources目录,
然后在下面按地区语言名建立文件夹本别保存但前语言对应的js,css,image资源。为了实现此目的,可以把以前html的引用方式,改成jsp tag来引 用原资源文件。例如:
Html引用:
<A HREF="/resources/zh_CN/html/index.html"/>首页</A>
<SCRIPT SRC="/resources/zh_CN/scripts/message.js" LANGUAGE="javascript"></SCRIPT>
<LINK HREF="/resources/zh_CN/css/style.css" REL="stylesheet" TYPE="text/css"/>
<IMG SRC="/resources/zh_CN/images/title.gif" WIDTH="300" HEIGHT="120" BORDER="0" ALT="title"/>
Jsp tag引用:
<i18n:a HREF="/resources/html/index.html"/><i18n:message key=”INDEX”/></i18n:a>
<i18n:javascript src="/resources/scripts/message.js"/>
<i18n:css href="/resources/css/style.css"/>
<i18n:image src="/resources/images/title.gif" width="300" height="120" border="0" alt="title"/>
假如当前浏览器环境为zh_CN,那么上述tag生成的html代码如下:
<A HREF="/resources/zh_CN/html/index.html"/>首页</A>
<SCRIPT SRC="/resources/zh_CN/scripts/message.js" LANGUAGE="javascript"></SCRIPT>
<LINK HREF="/resources/zh_CN/css/style.css" REL="stylesheet" TYPE="text/css"/>
<IMG SRC="/resources/zh_CN/images/title.gif" WIDTH="300" HEIGHT="120" BORDER="0" ALT="title">
2、把程序中一些常用字符串常量统一放在数据库中,如:“国家区域”,“产品类别”
如中文表cuntry_zh_CN,category_zh_CN
二、编码国际化
1、服务器(tomcat,mysql等)编码配置UTF-8
2、文件(jsp,java,css等)编码UTF-8
方案二:
JSP、Java文件中的信息国际化有资源文件改为数据库,其它与方案一相同。优点:数据统一、数据容易管理 缺点:没有Spring,String,java框架支持,需要手写。