科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java EE的国际化解决方案

Java EE的国际化解决方案

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍Java EE应用程序开发者如何实现不同国家或地区的用户应用界面上看到的文字内容是自己的语言,并且可以选择其他语言来显示。

作者:陈春 来源:goCom 2007年12月26日

关键字: Java EE 国际化 解决方案

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

当某个企业应用需要面对不同国家或地区的用户时,就必须考虑国际化问题。最终效果就是让不同国家的用户在界面上看到的文字内容是自己的语言,并且可以选择其他语言来显示。对于Java EE应用程序开发者来说,其主要工作包括提示信息国际化、编码国际化两个方面。

1、提示信息国际化

这部分工作主要就是把程序中字符串常量提取到统一的资源信息文件中。针对不同的程序代码,又有不同的处理方式。

1.1、 java code的处理

首先需提供一个公共国际化资源接口类,server启动时会根据具体环境加载不同的资源。假设国际化资源类为Message,接口为getString(String key),那么java code的形式变化如下:

原代码:

String strLabel = “业务逻辑”; 

新代码:

String strLabel = Message.getString(“BIZ_NAME”);
资源文件(message_zh_CN.properties)内容:
BIZ_NAME=业务逻辑

(1)jsp代码的处理

1)html部分

页面中表单的提示信息和表格标题等内容,一般都是直接写在html代码中。根据jsp规范,此时做国际化有两种途径。第一种是直接利用<%=%>调java表达式来输出国际化信息,第二种是通过自定义标签来输出。例如:

原代码:

<table> 
<tr>
<td>客户姓名
</td>
<td><input type=”text” name=”cust_name”>
</td>
</tr>
</table> 

第一种实现:

<table> 
<tr>
<td><%=WebPageMessage.getString(“CUST_NAME”)%>
</td>
<td><input type=”text” name=”cust_name”>
</td>
</tr>
</table>

第二种实现:

<table> 
<tr>
<td><i18n:message key=”CUST_NAME”/>
</td>
<td><input type=”text” name=”cust_name”>
</td>
</tr>
</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”)%>”/>
资源文件(message_zh_CN.properties)内容:
NULL=未知 

(2)js、css、image部分

对于这三种元素,需要根据不同的语言环境加载不同的资源文件。我们可以在jsp对应的目录下建立一个resources目录,然后在下面按地区语言名建立文件夹本,分别保存前语言对应的js,css,image资源。为了实现此目的,可以把以前html的引用方式,改成jsp tag来引用原资源文件。例如:

Html引用:

<SCRIPT SRC="/resources/scripts/message.js" LANGUAGE="javascript"></SCRIPT> 
<LINK HREF="/resources /css/style.css" REL="stylesheet" TYPE="text/css"/>
<IMG SRC="/resources/images/title.gif" WIDTH="300" HEIGHT="120" BORDER="0" ALT="title">

Jsp tag引用:

<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"/>

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章