`

Struts2之国际化

 
阅读更多
首先我们要知道什么是属性文件。属性文件并不是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选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)

刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
分享到:
评论

相关推荐

    struts2框架国际化

    国际化(i18n)是Struts2的一个重要特性,使得应用能够支持多种语言环境,以满足全球用户的语言需求。以下是对Struts2框架国际化实现的详细讲解。 1. **国际化的基本概念** 国际化(Internationalization,简称i18...

    Struts2 使用 Struts2 实现国际化

    总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...

    struts2国际化例子源码

    在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...

    struts2国际化处理全解

    在国际化处理方面,Struts2提供了全面的支持,使得开发者能够轻松地为多语言环境的应用程序创建接口。 首先,我们需要了解什么是国际化(Internationalization)和本地化(Localization)。国际化是指设计和开发...

    struts2实现国际化

    2. **配置Struts2**:在Struts2的配置文件(struts.xml或struts-default.xml)中,我们需要添加一个Interceptor(拦截器)来处理国际化。`i18n interceptor`是专门用于这个目的的,它可以自动检测用户的浏览器设置并...

    资源国际化 struts2资源国际化

    总的来说,Struts2的资源国际化机制使得开发者可以轻松地为Web应用程序添加多语言支持,提高用户体验,而无需深入修改程序的内部结构。只需维护好各个语言版本的资源文件,系统就能根据用户的语言环境自动显示相应的...

    struts2国际化源码以及eclipse国际化插件

    在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...

    struts2国际化 标签 页面 处理类

    Struts2是一个流行的Java web框架,它提供了强大的国际化支持,帮助开发者创建多语言的应用程序。在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们...

    struts2标签库及国际化的使用例子

    Struts2 框架提供了强大的标签库和国际化功能,本实验旨在掌握 Struts 2 标签库和国际化功能的使用,并实现用户注册页面的国际化显示。 一、Struts2 标签库 Struts2 框架提供了一个强大的标签库,用于简化 JSP ...

    struts2拦截器国际化

    在Struts2中,拦截器(Interceptor)是实现业务逻辑控制和增强功能的重要机制,而国际化(Internationalization,简称i18n)则能帮助我们构建支持多语言的Web应用。下面将详细解释这两个知识点以及它们如何在Struts2...

    struts2+freemarker 国际化

    在Struts2和Freemarker中实现国际化,可以让应用的用户界面适应全球范围内的用户。 首先,我们需要理解Struts2的国际化流程。Struts2提供了一种机制,通过资源属性文件(通常是.properties格式)来管理不同语言的...

    国际化与struts2

    文件`struts2_properties_20150922_guojihua2`很可能包含了Struts2的国际化配置示例,可能是针对2015年9月22日的一个更新或修正。文件名中的“guojihua2”可能是对这个版本的特定描述,可能指的是第二次国际化的改进...

    Struts2_国际化

    Struts2框架的国际化是针对Java Web应用程序的一种功能,它允许应用程序根据用户的地理位置(国家/地区)以及使用的语言环境展示不同的用户界面。国际化的英文简称是I18N,这个缩写来源于Internationalization的首末...

    struts2国际化MyEclipse开发

    struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺

    Struts2国际化Demo

    在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...

    STRUTS2国际化的问题

    ### STRUTS2国际化的问题 #### 一、Struts2国际化的概述 Struts2作为一个流行的Web应用框架,为了满足全球用户的使用需求,提供了一系列国际化(Internationalization, 简称I18N)的支持。这包括了如何在配置文件...

    Struts2国际化的实现原理

    Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解

    struts1.2 国际化

    Struts 1.2 框架作为 Java Web 开发的经典框架之一,提供了强大的国际化支持。本文将详细介绍 Struts 1.2 如何实现国际化,以及如何利用该框架创建国际化应用。 #### 二、本地化与国际化基础 ##### 1. 本地化 ...

    Struts2实例 国际化 类型转换 struts标签

    这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...

    struts2国际化测试

    在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...

Global site tag (gtag.js) - Google Analytics