手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

在struts中使用国际化(i18n)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在Struts中使用国际化(i18n)
i18n可以满足对系统的国际化,它的原理就是将页面上的所有标志都放到一个消息资源文件中,不同的语言要提供不同的消息资源文件,当用户登录系统是,系统就是根据你登录的语言,选择不同的消息资源文件显示出来,这样你就可以看到不同的效果了。
一、配置文件的设置
其实i18n的使用还是比较简单的,首先你要在struts-config.XML配置文件中配置消息资源文件的路径,如下所示:
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== Form Definitions =================================== -->
<form-beans>
<form-bean name="HelloForm"
type="hello.HelloForm"/>
</form-beans>


<!-- ========== Global Forward Definitions?============================== -->
<global-forwards>
<forward name="aerror" path="/public/JSP/ShowError.jsp"/>
<forward name="success" path="/public/jsp/ShowSuccess.jsp"/>
</global-forwards>


<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings>
<action path="/HelloWorld"
type="hello.HelloAction"
name="HelloForm"
scope="request">
<forward name="sayHello" path="/hello.jsp"/>
</action>
</action-mappings>

<!-- ========== Message Resources Definitions =========================== -->
<!--指定资源文件的路径-->
<message-resources parameter="hello.ApplicationResources"/>

</struts-config>
-------------------------------------------------------------------------------------------
这个配置文件的配置项<message-resources>就是用来配置资源文件路径,在这里,路径被配置在系统classpath里面的hello/ApplicationResources.properties文件中。

二、资源文件
现在我们可以开始配置资源文件了,如下(ApplicationResources.properties文件):
-------------------------------------------------------------------------------------------
; Application Resources

hello.title = 你好,欢迎光临!
-------------------------------------------------------------------------------------------
在这个配置文件中,只有一个注释(用逗号做标志),一个信息。对于中文来说,上面这个文件是没有办法辨认的,必须给这个文件转化编码才行。
在DOS命令行进入ApplicationResources.properties所在的文件夹使用命令:
native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResources_zh.properties
native2ascii是JDK的一个工具,放在jdk安装目录的bin目录下,如果出现“native2ascii不是内部命令”,那可能是你没有设置环境变量。


三、jsp文件
下面是一个简单的jsp文件,里面使用了i18n,如下:
-------------------------------------------------------------------------------------------
<%@ page contentType="text/html;charset=gbk"%>

<%@ taglib uri="/Web-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>
<body>
<td>
<bean:message key="hello.title"/>
</td>
</body>
</html>
-------------------------------------------------------------------------------------------
其中,前面三句话是将标记库文件包含进文件中,这样在下面使用的标记还可以被辨认,如下面的<bean>标记。
下面这句话<bean:message key="hello.title"/>,就是将内容显示出来,这个内容是从文件ApplicationResources_zh.properties读取的,在这里,hello.title是“你好,欢迎光临!”,当然,这要你系统的编码的简体中文才行。

上一篇: 什么是Extreme Programming(极限编程,简称XP)
下一篇: 读取foxpro格式的dbf文件

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!