扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
当某个企业应用需要面对不同国家或地区的用户时,就必须考虑国际化问题。最终效果就是让不同国家的用户在界面上看到的文字内容是自己的语言,并且可以选择其他语言来显示。对于Java EE应用程序开发者来说,其主要工作包括提示信息国际化、编码国际化两个方面。
1、提示信息国际化
这部分工作主要就是把程序中字符串常量提取到统一的资源信息文件中。针对不同的程序代码,又有不同的处理方式。
1.1、 java code的处理
首先需提供一个公共国际化资源接口类,server启动时会根据具体环境加载不同的资源。假设国际化资源类为Message,接口为getString(String key),那么java code的形式变化如下:
原代码:
String strLabel = “业务逻辑”; |
新代码:
String strLabel = Message.getString(“BIZ_NAME”); |
(1)jsp代码的处理
1)html部分
页面中表单的提示信息和表格标题等内容,一般都是直接写在html代码中。根据jsp规范,此时做国际化有两种途径。第一种是直接利用<%=%>调java表达式来输出国际化信息,第二种是通过自定义标签来输出。例如:
原代码:
<table> |
第一种实现:
<table> |
第二种实现:
<table> |
资源文件(message_zh_CN.properties)内容:
CUST_NAME=客户姓名
2)jsp tag部分
有时候,jsp tag的属性值也是和具体语言相关的字符串,此时需要该属性支持java expression。如不支持,可修改<rtexprvalue>false</rtexprvalue>为<rtexprvalue>true</rtexprvalue>。例如:
原代码:
<dict:select businessType=”SEX” nullLabel=”未知”/> |
新代码:
<dict:select businessType=”SEX” nullLabel=”<%=WebPageMessage.getString(“NULL”)%>”/> |
(2)js、css、image部分
对于这三种元素,需要根据不同的语言环境加载不同的资源文件。我们可以在jsp对应的目录下建立一个resources目录,然后在下面按地区语言名建立文件夹本,分别保存前语言对应的js,css,image资源。为了实现此目的,可以把以前html的引用方式,改成jsp tag来引用原资源文件。例如:
Html引用:
<SCRIPT SRC="/resources/scripts/message.js" LANGUAGE="javascript"></SCRIPT> |
Jsp tag引用:
<i18n:javascript src="/resources/scripts/message.js"/> |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者