3.5 Struts2国际化应用

下面以登陆界面为例,讲解国际化应用内容。
html

1.创建项目

打开MyEclipse,创建一个Web项目,命名为“Struts2InternationalTest”。java

 

2.加载Struts 2的基本类库

该步骤与3.2.1节中的第3步步骤相同,这里再也不赘述。web

 

3.修改web.xml

其内容见3.2.1节第4步shell

 

4.创建资源文件

    Struts2提供了不少加载国际化资源文件的方法,最简单且最经常使用的是加载全局的国际化资源文件。须要在项目的src文件夹下创建一个名为“struts.properties”的文件。只须要在该文件中编写下面代码:浏览器

struts.custom.il8n.resources=资源文件名

注意:i18n是数字1。I18N是“国际化”的简称,其来源是英文单词 internationalization的首末字符i和n。18为中间的字符数
eclipse

    该例中资源文件名为“messgageResource”,故struts.properties应为:jsp

struts.custom.i18n.resources = messgageResource

    下面来创建两个资源文件,分别为中文和英文。
post

username=DLM
password=KL
login=login

    能够看出,它们分别是一个key-value对。而后再提供下面的文件:编码

username=登陆名
password=口令
login=登陆

    将上面文件以“messageResource_temp.properties”为文件名保存在项目的WEB-INF/classes文件夹下,由于该文件包含了非西欧字符,因此必须用native2ascii命令来处理。选择【开始】→【运行】菜单项,输入“cmd”。spa

    而后输入找到项目的class路径下,如“D:\my\Documents\java\JavaEE\Struts2InternationalTest\WebRoot\WEB-INF\classes”。在命令行输入

native2ascii messageResource_temp.properties messageResource_zh_CN.properties

这样就会在class路径下产生messageResource_zh _CN.properties文件(以下)。

username=\u767b\u5f55\u540d
password=\u53e3\u4ee4
login=\u767b\u5f55

--------------------------------------------------------------------

补充:

Eclipse中如何修改properties等文件的编码?

window-->Preferences-->General-->Content Types-->text-->Java Properties File-->Default encoding-->输入utf-8

就支持在properties文件中写中文注释了!

-------------------------------------------------------------------- 

5.创建login.jsp文件

Struts 2访问国际化消息主要有如下三种方式:

    1)在JSP页面中输出国际化消息,能够使用Struts 2<s:text…/>标签,该标签能够指定name属性,该属性指定国际化资源文件中的key

    2)在Action中访问国际化消息,能够使用ActionSupport类的getText()方法,该方法能够接收一个参数,该参数指定了国际化资源文件中的key

    3)在表单元素的label属性里输出国际化信息,能够为该表单标签指定一个key属性,该属性指定了国际化资源文件中的key。

下面是login.jsp文件代码:

<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
    <head></head>
    <body>
        <s:i18n name="messageResource">
            <s:form action="login.action" method="post">
                <s:textfield name="user.XH" key="username" size= "20"></s:textfield>
                <s:password name="user.KL" key="password" size= "20"></s:password>
                <s:submit value="%{getText('login')}"/>
            </s:form>
        </s:i18n>
    </body>
</html>

 

6.部署运行

    部署运行项目,打开浏览器,单击“Internet 选项”>“常规”>“语言”,修改浏览器应用语言,当中文在最上方时表示当前为中文环境,而相应的英文在最上面时表示当前为英文环境。能够发现中文环境时登陆界面如图3.15所示,英文环境时,登陆界面如图3.16所示。

图3.15 中文环境时登陆界面

图3.16 英文环境时登陆界面

 

 

 

7.用ResourceBundleEditor插件实现国际化资源的生成

1)下载地址 http://sourceforge.net/projects/eclipse-rbe/

2)安装:解压,复制到Eclipse插件安装目录下,重启Eclipse。 

3)使用

在你的项目,WEB-INF上面点击右键->new->other而后进入到如图所示的界面

而后点击下一步进入以下图所示页面,选择你要配置使用的语言,能够多选 

完成后,选择你新创建的文件ApplicationResources_zh.properties,右击资源文件,选择【Open With】--【ResourceBundleEditor】

 

附:目录《JavaEE基础实用教程》笔记说明 

相关文章
相关标签/搜索