- 浏览: 121187 次
- 性别:
- 来自: 成都
文章分类
最新评论
首先我们要知道什么是属性文件。属性文件并不是Struts特有的东西,是Java本身就支持的一个技术。属性文件就是以.properties为扩展名的文本文件。属性文件里面保存的是属性列表,属性列表中每个键及其对应值都是一个字符串。
我们可以把项目要显示给用户的字符串保存在属性列表中,项目中使用字符串对应的键。这样,当用户要修改字符串的时候,我们就可以直接到属性文件里去修改,就不用修改程序代码了。而且,属性文件还可以这样命名:XXX_zh_CN.properties,XXX_en_US.properties或XXX_ja_JP.properties,这样我们就可以把中文版的消息字符串保存在zh_CN.properties里,把英文版的保存在en_US里,把日文版的保存在ja_JP里。然后,程序根据运行时环境决定加载哪个文件,这就是我们所谓的国际化。
这样说好像有点难,实际上Struts为我们做了很多工作,我们需要关心的只是定义键和对应的字符串,然后在显示的地方指定键就可以了。
还有个问题得先解决,就是不同的语言编码字符集不同,而属性文件要求编码相同。我们当然可以利用JDK提供的native2ascii.exe做一下转换。不过这不是我推荐使用的方法,日本人开发了一个Eclipse插件,属性编辑器(propedit),我下载的版本是jp.gt.java_conf.ussiy.app.propedit_3.1.1.zip,利用他我们就可以直接写中文或日文,保存的时候它能帮我们自动转换。
啰嗦了这么多,也该办点正事了,先用属性编辑器建立两个属性文件:
globalMessages_en_US.properties
-------------------------------
username=User Name
password=Password
submit.title=submit
-------------------------------
globalMessages_zh_CN.properties
-------------------------------
username=帐号
password=密码
submit.title=提交
-------------------------------
把它们保存在/tutorial/src下,编译后会自动保存在tutorial/WEB-INF/classes目录下。
打开struts.xml, 在<struts>的下面加如下一行配置:
<constant name="struts.custom.i18n.resources" value="globalMessages" />
帮助位置:
struts-2.0.6/docs/docs/constant-configuration.html
struts-2.0.6/docs/docs/strutsproperties.html
修改Login.jsp里的Form内容如下:
<s:form. action="Login" method="post" theme="simple">
<s:text name="username"/>:<s:textfield name="username" /><br>
<s:text name="password"/>:<s:password name="password" /><br>
<s:submit value="%{getText('submit.title')}" />
</s:form>
帮助位置:struts-2.0.6/docs/docs/text.html
编译,部署项目,启动Tomcat在浏览器的地址栏里输入:
http://localhost:8080/tutorial/Login!input.action
如果显示的是中文提示就表示成功了^_^
改变浏览器的语言设置([工具]->[Internet选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)
刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
我们可以把项目要显示给用户的字符串保存在属性列表中,项目中使用字符串对应的键。这样,当用户要修改字符串的时候,我们就可以直接到属性文件里去修改,就不用修改程序代码了。而且,属性文件还可以这样命名:XXX_zh_CN.properties,XXX_en_US.properties或XXX_ja_JP.properties,这样我们就可以把中文版的消息字符串保存在zh_CN.properties里,把英文版的保存在en_US里,把日文版的保存在ja_JP里。然后,程序根据运行时环境决定加载哪个文件,这就是我们所谓的国际化。
这样说好像有点难,实际上Struts为我们做了很多工作,我们需要关心的只是定义键和对应的字符串,然后在显示的地方指定键就可以了。
还有个问题得先解决,就是不同的语言编码字符集不同,而属性文件要求编码相同。我们当然可以利用JDK提供的native2ascii.exe做一下转换。不过这不是我推荐使用的方法,日本人开发了一个Eclipse插件,属性编辑器(propedit),我下载的版本是jp.gt.java_conf.ussiy.app.propedit_3.1.1.zip,利用他我们就可以直接写中文或日文,保存的时候它能帮我们自动转换。
啰嗦了这么多,也该办点正事了,先用属性编辑器建立两个属性文件:
globalMessages_en_US.properties
-------------------------------
username=User Name
password=Password
submit.title=submit
-------------------------------
globalMessages_zh_CN.properties
-------------------------------
username=帐号
password=密码
submit.title=提交
-------------------------------
把它们保存在/tutorial/src下,编译后会自动保存在tutorial/WEB-INF/classes目录下。
打开struts.xml, 在<struts>的下面加如下一行配置:
<constant name="struts.custom.i18n.resources" value="globalMessages" />
帮助位置:
struts-2.0.6/docs/docs/constant-configuration.html
struts-2.0.6/docs/docs/strutsproperties.html
修改Login.jsp里的Form内容如下:
<s:form. action="Login" method="post" theme="simple">
<s:text name="username"/>:<s:textfield name="username" /><br>
<s:text name="password"/>:<s:password name="password" /><br>
<s:submit value="%{getText('submit.title')}" />
</s:form>
帮助位置:struts-2.0.6/docs/docs/text.html
编译,部署项目,启动Tomcat在浏览器的地址栏里输入:
http://localhost:8080/tutorial/Login!input.action
如果显示的是中文提示就表示成功了^_^
改变浏览器的语言设置([工具]->[Internet选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)
刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
发表评论
-
struts2 token拦截器
2014-01-14 20:44 913之前struts2解决token必须在每个action配置 ... -
FreeMarker作为Struts2的视图
2012-07-27 17:09 781Struts使用FreeMarker作为其默认的模板技术,因此 ... -
spring security的标签库
2011-11-07 16:35 7588应用标签库:<%@ taglib prefix='sec ... -
STRUTS2 Convention零配置
2011-11-04 15:53 716从struts2.1开始,struts2不再推荐使用Codeb ... -
Hibernate - DetachedCriteria 的完整用法
2011-11-04 15:33 850Hibernate - DetachedCriteria 的完 ... -
Hibernate二级缓存及产品Oscache
2011-11-04 15:19 1982二级缓存也称进程级的缓存或SessionFactory级的缓存 ... -
struts2的struts.properties配置文件详解
2011-11-04 14:40 840struts.action.extensionThe U ... -
JPA @MappedSuperclass注解的使用说明
2011-10-31 17:51 893基于代码复用和模型分离的思想,在项目开发中使用JPA的@Map ... -
freemarker的国际化
2011-10-27 10:58 970起首在servlet中加上加载资料文件的代码 Local ... -
net.sf.json的使用
2011-10-26 17:26 2177需要jar包:ezmorph-1.0.6.jar,json-l ... -
FreeMarker设计指南
2011-10-18 17:57 767(1)模板 + 数据模型 = 输出 FreeMarke ... -
Freemarker中遍历List实例
2011-10-18 13:12 7713Freemarker中如何遍历List ... -
freemarker中使用struts2标签
2011-10-15 16:01 9711.将系统所需的标签库定义文件(也就是tld文件)复制到web ... -
Freemarker源码解析
2011-10-10 17:21 1105FreeMarker 自定义模版文 ... -
实体 Bean 注解
2011-10-06 15:36 1373一、 实体 Bean 每个持久化POJO类都是一个实体Bea ... -
警告: No configuration found for the specified action: '/myNameSpace/login.action'
2011-10-06 09:01 1064警告信息:警告: No configuration found ... -
struts2.0 标签+ftl标签
2011-10-05 14:58 935直接调用后台方法代码 <PRE class=ftl n ... -
Struts2使用 -- Convention插件
2011-10-04 11:04 818本文来自CSDN博客: http:/ ... -
struts2 validation中指定返回的result input
2011-10-04 09:23 903@InputConfig注解于方法 @InputConfig( ... -
Struts2日期格式
2011-09-30 10:48 824struts2 中的默认的日期输出并不符合我们的中文日常习惯。 ...
相关推荐
国际化(i18n)是Struts2的一个重要特性,使得应用能够支持多种语言环境,以满足全球用户的语言需求。以下是对Struts2框架国际化实现的详细讲解。 1. **国际化的基本概念** 国际化(Internationalization,简称i18...
总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...
在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...
在国际化处理方面,Struts2提供了全面的支持,使得开发者能够轻松地为多语言环境的应用程序创建接口。 首先,我们需要了解什么是国际化(Internationalization)和本地化(Localization)。国际化是指设计和开发...
2. **配置Struts2**:在Struts2的配置文件(struts.xml或struts-default.xml)中,我们需要添加一个Interceptor(拦截器)来处理国际化。`i18n interceptor`是专门用于这个目的的,它可以自动检测用户的浏览器设置并...
总的来说,Struts2的资源国际化机制使得开发者可以轻松地为Web应用程序添加多语言支持,提高用户体验,而无需深入修改程序的内部结构。只需维护好各个语言版本的资源文件,系统就能根据用户的语言环境自动显示相应的...
在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...
Struts2是一个流行的Java web框架,它提供了强大的国际化支持,帮助开发者创建多语言的应用程序。在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们...
Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了一个强大的标签库,用于简化 JSP ...
在Struts2中,拦截器(Interceptor)是实现业务逻辑控制和增强功能的重要机制,而国际化(Internationalization,简称i18n)则能帮助我们构建支持多语言的Web应用。下面将详细解释这两个知识点以及它们如何在Struts2...
在Struts2和Freemarker中实现国际化,可以让应用的用户界面适应全球范围内的用户。 首先,我们需要理解Struts2的国际化流程。Struts2提供了一种机制,通过资源属性文件(通常是.properties格式)来管理不同语言的...
文件`struts2_properties_20150922_guojihua2`很可能包含了Struts2的国际化配置示例,可能是针对2015年9月22日的一个更新或修正。文件名中的“guojihua2”可能是对这个版本的特定描述,可能指的是第二次国际化的改进...
Struts2框架的国际化是针对Java Web应用程序的一种功能,它允许应用程序根据用户的地理位置(国家/地区)以及使用的语言环境展示不同的用户界面。国际化的英文简称是I18N,这个缩写来源于Internationalization的首末...
struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺
在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...
### STRUTS2国际化的问题 #### 一、Struts2国际化的概述 Struts2作为一个流行的Web应用框架,为了满足全球用户的使用需求,提供了一系列国际化(Internationalization, 简称I18N)的支持。这包括了如何在配置文件...
Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解
Struts 1.2 框架作为 Java Web 开发的经典框架之一,提供了强大的国际化支持。本文将详细介绍 Struts 1.2 如何实现国际化,以及如何利用该框架创建国际化应用。 #### 二、本地化与国际化基础 ##### 1. 本地化 ...
这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...
在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...