3.5 Struts2国际化应用
2016-02-23 00:00
281 查看
摘要: Struts2国际化应用:支持多国语言
下面以登录界面为例,讲解国际化应用内容。
注意:i18n是数字1。I18N是“国际化”的简称,其来源是英文单词 internationalization的首末字符i和n。18为中间的字符数。
该例中资源文件名为“messgageResource”,故struts.properties应为:
下面来建立两个资源文件,分别为中文和英文。
可以看出,它们分别是一个key-value对。然后再提供下面的文件:
将上面文件以“messageResource_temp.properties”为文件名保存在项目的WEB-INF/classes文件夹下,因为该文件包含了非西欧字符,所以必须用native2ascii命令来处理。选择【开始】→【运行】菜单项,输入“cmd”。
然后输入找到项目的class路径下,如“D:\my\Documents\java\JavaEE\Struts2InternationalTest\WebRoot\WEB-INF\classes”。在命令行输入
这样就会在class路径下产生messageResource_zh _CN.properties文件(如下)。
--------------------------------------------------------------------
补充:
Eclipse中如何修改properties等文件的编码?
window-->Preferences-->General-->Content Types-->text-->Java Properties File-->Default encoding-->输入utf-8
就支持在properties文件中写中文注释了!
--------------------------------------------------------------------
1)在JSP页面中输出国际化消息,可以使用Struts 2的<s:text…/>标签,该标签可以指定name属性,该属性指定国际化资源文件中的key。
2)在Action中访问国际化消息,可以使用ActionSupport类的getText()方法,该方法可以接收一个参数,该参数指定了国际化资源文件中的key。
3)在表单元素的label属性里输出国际化信息,可以为该表单标签指定一个key属性,该属性指定了国际化资源文件中的key。
下面是login.jsp文件代码:
图3.15 中文环境时登录界面
图3.16 英文环境时登录界面
2)安装:解压,复制到Eclipse插件安装目录下,重启Eclipse。
3)使用
在你的项目,WEB-INF上面点击右键->new->other然后进入到如图所示的界面
然后点击下一步进入如下图所示页面,选择你要配置使用的语言,可以多选
完成后,选择你新建立的文件ApplicationResources_zh.properties,右击资源文件,选择【Open With】--【ResourceBundleEditor】。
附:目录《JavaEE基础实用教程》笔记说明
下面以登录界面为例,讲解国际化应用内容。
1.建立项目
打开MyEclipse,建立一个Web项目,命名为“Struts2InternationalTest”。2.加载Struts 2的基本类库
该步骤与3.2.1节中的第3步步骤相同,这里不再赘述。3.修改web.xml
其内容见3.2.1节第4步。4.建立资源文件
Struts2提供了很多加载国际化资源文件的方法,最简单且最常用的是加载全局的国际化资源文件。需要在项目的src文件夹下建立一个名为“struts.properties”的文件。只需要在该文件中编写下面代码:struts.custom.il8n.resources=资源文件名
注意:i18n是数字1。I18N是“国际化”的简称,其来源是英文单词 internationalization的首末字符i和n。18为中间的字符数。
该例中资源文件名为“messgageResource”,故struts.properties应为:
struts.custom.i18n.resources = messgageResource
下面来建立两个资源文件,分别为中文和英文。
username=DLM password=KL login=login
可以看出,它们分别是一个key-value对。然后再提供下面的文件:
username=登录名 password=口令 login=登录
将上面文件以“messageResource_temp.properties”为文件名保存在项目的WEB-INF/classes文件夹下,因为该文件包含了非西欧字符,所以必须用native2ascii命令来处理。选择【开始】→【运行】菜单项,输入“cmd”。
然后输入找到项目的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基础实用教程》笔记说明
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- java struts常见错误以及原因分析
- Struts之logic标签库详解
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- Java的Struts框架中append标签与generator标签的使用
- struts2的select标签用法实例分析
- SSH框架网上商城项目第20战之在线支付平台
- 在Java的Struts框架下进行web编程的入门教程
- 详解Java的Struts框架中注释的用法
- java中struts 框架的实现
- 利用Java的Struts框架实现电子邮件发送功能
- 在Java的Struts框架中ONGL表达式的基础使用入门
- 详解Java的Struts框架中栈值和OGNL的使用
- Java的Struts框架简介与环境配置教程
- Java的Struts框架中的if/else标签使用详解
- 简单说明Java的Struts框架中merge标签的使用方法
- 详解Java的Struts框架中上传文件和客户端验证的实现
- Java的Struts框架中Action的编写与拦截器的使用方法
- sprng和struts有什么区别?
- Java的Struts框架中<results>标签的使用方法