`
yupengcc
  • 浏览: 137436 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

struts2教程===国际化

阅读更多

来源地址:http://www.blogjava.net/nokiaguy/archive/2008/05/20/201675.html

 

国际化的作用就是根据不同国家的用户在访问 Web或其他类型的程序时,将各种信息以本地的常用形式显示出来,如界面信息在中国,就会显示中文信息,在以英文为主的国家里,就会显示英文信息。还有就是一些信息的格式,如日期格式等。

从属性文件中获得字符串信息是国际化的基本应用。在 Struts2中使用的属性文件就是 Java属性文件,扩展名为 properties。在 Struts2中的属性文件可以有很多默认的位置, Struts2可按如下的顺序(或步骤)来定位属性文件:

    1. ActionClass.properties
:属性文件名和动作类同名。 Struts2会首先查询与当前访问的动作类同名,并且和 ActionClass.class在同一个目录下的属性文件。

2. BaseClass.properties BaseClass表示动作类的基类。所有动作类都会查找 Object.properties文件(因为 Object是所有 Java类的基类),但要注意的是 Object.properties文件可不能放到当前动作类的目录中,由于 Object java.lang包中,因此, Object.properties要放到 jdk包的 java"lang目录中。而对于 ActionSupport.properties文件,当然也不能放到动作类的当前目录中,由于 ActionSupport类中 com.opensymphony.xwork2名中,因此,需要将 ActionSupport.properties文件放到 xwork2.jar包中的 com\opensymphony\xwork2目录中,由于放到 jar文件中不太方便,因此,可以使一个和当前动作类在一个目录的类先继承 ActionSupport,然后所有的动作类都继承于这个类。代码如下:

 

public   class  MyActionSupport  extends  ActionSupport
{
    ... ...
}
public   class  ActionClass  extends  MyActionSupport
{
    ... ...
}

 

这样的话,只要存在一个 MyActionSupport.properties,在当前目录下的所有动作类都会读取这个文件。

3. Interface.properties:这类文件和 BaseClass.properties类似, Interface表示动作类实现的接口。

4. 如果动作类实现了 ModelDriven, 那么重复第 1步。

5. package.properties:大家要注意。这个文件就叫 package.properties。不象 Interface BaseClass都是泛指。这个文件可以放到当前动作类的包的任何一层目录下。如当前动作类在 action.test包中。那么 package.properties可以放到 action目录中,也可以放到 action"test目录中。 Struts2会从离动作类最近的位置开始查找 package.properties文件。

6. 搜索 il8n资源信息

7. 查找全局资源属性文件

    如下面是一个动作类

 

package  action.test;

import  org.apache.struts2. * ;
import  com.opensymphony.xwork2.ActionSupport;

public   class  Internationalizing  extends  ActionSupport        
{
    
public  String execute()  throws  Exception
    {
        
return   " forward " ;
    }
}

 

action\test目录下有一个 Internationalizing.properties文件,内容如下:

delete = 删除

save = 保存

我们可以在 jsp文件中使用如下几种方法取出资源信息:

<s:property value="getText('delete')"/>

<s:text name="save" />

    3.  使用 <s:il8n>标签。这个标签可以直接定位属性文件,如 abc.properties WEB-INF\classes\test目录下,内容和 Internationalizing.properties一样,则可以使用如下的代码读取 abc.properties的内容:

 

<% @ taglib prefix = " s "  uri = " /struts-tags "   %>
< s:i18n  name ="test.abc" >
    < s:text  name ="save"   />
    
< s:text  name ="delete"   />
</ s:i18n >

 

当然,我们也可以使用全局的属性文件,在 WEB-INF"classes目录下建立一个 struts.properties文件,内容如下:

struts.custom.i18n.resources=my

WEB-INF\classes目录下建立一个 my.properties文件,当 Struts2按着上述的顺序没有找到相应的属性文件时,最后就会考虑寻找全局的属性文件,因此,就会找到 my.properties

   还可以通过属性文件名来让 Struts2 按着客户端浏览器的语言环境来找符合某种语言的属性文件。如有三个属性文件 language.properties language_en.properties language_zh.properties 。如果客户端的语言是中文, Struts2 就会读 language_zh.properties ,如果是英文,就会读 language_en.properties 。如果这两个文件的某个不存在,就会读 language.properties 。读者可通过 IE 的[ 工具] ->[Internet]->[ 语言]来测试客户端浏览器的语言,如图 1 所示:



                                      图1

分享到:
评论

相关推荐

    Struts2视频教程

    - **国际化**:通过配置资源文件实现多语言支持,增强应用的可用性。 - **异常处理**:配置异常拦截器,实现全局异常捕获和处理,提升用户体验。 - **文件上传与下载**:Struts2内置了对文件上传的支持,可以轻松...

    struts 2教程资料

    8. **国际化和主题**:学习如何实现应用的多语言支持和自定义界面样式。 9. **插件使用**:根据项目需求,学习如何集成和使用Struts 2的插件,如Spring插件、Tiles插件等。 10. **最佳实践**:了解并遵循一些最佳...

    Struts2——教程

    Struts2内置了对多语言的支持,可以通过资源包(properties文件)来实现界面的国际化。 十、Struts2与Spring集成 Struts2可以轻松地与Spring框架集成,实现依赖注入(DI)和面向切面编程(AOP),进一步提升代码的...

    struts2教程.rar

    在“Struts2教程.chm”中,可能涵盖了Struts2的基础概念、配置、Action、Interceptor、Result、OGNL、国际化、异常处理、插件使用等方面的详细内容,对于初学者和进阶者都是极好的参考资料。而“打开方式.htm”可能...

    Max的Struts2教程

    9. **国际化与本地化**:Struts2支持多语言环境,通过资源包(properties文件)实现不同语言间的切换。 10. ** strut2-dojo-plugin**:这个插件允许开发者轻松地在应用中使用Dojo库,提供丰富的AJAX和UI组件。 ...

    详细的Struts2教程

    此外,Struts2还具有异常处理、国际化、主题和皮肤等功能,使得开发者能够更好地管理和定制应用的外观和行为。其插件体系也十分丰富,如Tiles插件用于布局管理,Struts2-dojo-plugin则提供了与Dojo JavaScript库的...

    传智播客struts2教程

    学习Struts2不仅需要理解这些基本概念,还要掌握Action的生命周期、拦截器链的工作原理、国际化处理、文件上传下载等功能。此外,整合Spring框架以实现依赖注入,以及与Hibernate等ORM框架集成进行数据库操作,也是...

    Struts2教程DOC版

    2. **国际化与本地化**:Struts2支持多语言环境,开发者可以通过资源包(properties文件)轻松实现国际化。 3. **文件上传与下载**:Struts2提供了便捷的文件上传和下载功能,包括文件大小限制、类型检查等。 4. *...

    struts2教程pdf清晰版

    “4 internationalization.pdf”可能会讲解Struts2的国际化支持,如何为应用提供多语言环境,包括资源文件的创建、配置和使用,以及如何在Action和JSP中调用国际化的文本。 “5 converter.pdf”涉及Struts2的转换器...

    超详细Struts2教程及源代码

    day04可能会涵盖Struts2的异常处理和国际化支持。你将学习如何配置全局异常处理策略,以及如何为不同的语言提供本地化资源文件。 day05可能涉及Struts2的标签库。Struts2提供了一系列JSP标签,简化视图层的开发,如...

    struts2教程源代码

    6. **国际化和本地化**:Struts2提供内置的支持来处理多语言环境,你可以通过例子学习如何实现这一功能。 7. **Tiles框架集成**:Struts2可以与Tiles框架集成,用于创建可重用的页面布局。学习如何配置和使用Tiles...

    Struts2基础教程

    Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。...通过本教程,你将能够掌握Struts2的基础知识,进一步深入学习Struts2的拦截器、国际化、异常处理等高级特性。

    struts2入门教程(PPT)

    总的来说,Struts2通过其无侵入式设计、拦截器、类型转换、灵活的视图支持、强大的验证机制和国际化管理,极大地提升了开发效率和代码质量,使得Java Web开发更加高效和便捷。虽然Struts1为早期的Web开发打下了基础...

    Struts2中文教程,Struts2API

    在学习Struts2时,你将接触到主题、标签库、国际化支持、异常处理、文件上传下载等功能。Struts2还提供了与Spring、Hibernate等其他框架的集成,使得企业级应用的开发更为便捷。通过实践和深入学习,你可以掌握如何...

    struts2 国际化(中英文切换 占位符)

    在Struts2中实现国际化,可以提供多语言支持,比如中英文切换,这对于全球用户来说非常关键。 首先,我们需要理解国际化的基本概念。国际化不是简单地翻译文本,而是设计一个可扩展的系统,以便能够轻松添加新的...

    Struts2教程.chm,Struts2教程.chm

    10. **国际化和本地化** - Struts2支持多语言环境,通过资源文件实现动态切换。 11. **测试与调试** - Struts2提供了JUnit测试支持,方便对Action进行单元测试。 - 使用Struts2提供的开发工具,如Struts2的开发...

    struts2教程word文档格式

    4. **I18N国际化**:Struts2支持多语言环境,通过资源文件(如.properties或.xml)存储不同语言的文本,根据用户的浏览器设置动态选择相应语言的文本,实现国际化。 5. **转换器Converter**:Struts2允许自定义转换...

    struts2 项目教程

    可能包含动作配置、拦截器使用、结果类型、国际化、异常处理等内容。 5. **ch13**:这可能是教程中的第13章或部分,可能涉及特定主题,如高级拦截器、自定义标签、Struts2与Spring集成或者AOP(面向切面编程)等。 ...

    struts2 -2.3.15.3-国际化功能简单实现mode

    本教程将深入探讨如何在Struts2 2.3.15.3版本中实现国际化。 一、准备工作 首先,我们需要在项目资源文件夹下创建一个名为`src/main/resources`的目录,然后在此目录下创建`com/yourpackage/i18n`文件夹,用于存放...

Global site tag (gtag.js) - Google Analytics