`
javachikuang
  • 浏览: 72158 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

struts2.0 国际化

阅读更多

每种框架都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化

 

首先在struts.properties文件中加入以下内容:
struts.custom.i18n.resources=messageResource
或在struts.xml中加入
<constant name="struts.custom.i18n.resources" value="messageResource"></constant>

 

资源文件的命名格式: 名称_语言代码_国家代码. Properties
如果创建中文和英语国际化,那么资源文件名称为
messageResource_zh_CN.properties和messageResource_en_US.properties

 

1. jsp页面的国际化
通过使用标签<s:text name="label.helloWorld"/>输出国际化
label.helloWorld为资源文件中定义的key

 


在messageResource_en_US.properties加入以下内容
label.hello=hello {0}
label.helloWorld=hello,world

在messageResource_zh_CN.properties加入以下内容
label.hello=你好 {0}
label.helloWorld=你好,世界

 

(1). <s:text name="label.helloWorld"/>
<s:property value="%{getText('label.helloWorld')}"/>
上面两个都为输出一个hello word的两种表示

 

<s:textfield name="name" key="label.helloWorld"/>
<s:textfield name="name" label="%{getText('label.helloWorld')}"/>
显示一个文本框,文本框的标题进行国际化

 

(2). 使用<s:i18n>标签指定从某个特定的资源文件中取数据
<s:i18n name="messageResource">
   <s:text name="label.helloWorld"></s:text>
</s:i18n>
指定在从messageResource取资源

 

(3).
<s:text name="label.hello">
   <s:param>callan</s:param>
</s:text>
使用带参数的资源.<s:param>可以替换label.hello=hello {0}中的{0}

 

2. Action的国际化
Action的国际化主要是通过getText(String key)方法实现的

Java代码 复制代码
  1. public String execute() throws Exception {   
  2.   
  3.            
  4.   
  5.         // getText(String) string为key   
  6.   
  7.          String str1 = getText("label.helloWorld");   
  8.   
  9.          System.out.println(str1);   
  10.   
  11.            
  12.   
  13.         // 带参数的   
  14.   
  15.          String str2 = getText("label.hello",new String[]{"fjf"});   
  16.   
  17.          System.out.println(str2);   
  18.   
  19.        
  20.   
  21.         // 与上一种实现一样   
  22.   
  23.          List l = new ArrayList();   
  24.   
  25.          l.add("callan");   
  26.   
  27.          String str3 = getText("label.hello",l);   
  28.   
  29.          System.out.println(str3);   
  30.   
  31.            
  32.   
  33.         return SUCCESS;   
  34.   
  35.      }  
public String execute() throws Exception {

  

  // getText(String) string为key

  String str1 = getText("label.helloWorld");

  System.out.println(str1);

  

  // 带参数的

  String str2 = getText("label.hello",new String[]{"fjf"});

  System.out.println(str2);

 

  // 与上一种实现一样

  List l = new ArrayList();

  l.add("callan");

  String str3 = getText("label.hello",l);

  System.out.println(str3);

  

  return SUCCESS;

 }

 

3. 参数化国际化
在messageResource_en_US.properties加入以下内容
userName=userName
userName.required=${getText('userName')} is required

 

在messageResource_zh_CN.properties加入以下内容
userName=用户名
userName.required=${getText('userName')} 不能为空

 

在Action中
String str4 = getText("userName.required");
System.out.println(str4);

 

userName.required=${getText('userName')}会取国际化的用户名

 

4. 使用校验框价时,提示信息可以国际化
   <field name="userName">
   <field-validator type="requiredstring">
    <message key=”userName.required”> </message>
   </field-validator>
</field>

 


国际化资源文件分为三种级别
(1) 全局资源文件,可以被整个应该程序引用,也就是struts.custom.i18n.resources=messageResource指定的文件
(2) 包级资源文件,每个包的根目录下可以新建资源文件,仅被当前包中的类访问.文件名格式为:package_语言代码_国家代码.
(3) Action级资源文件,仅被当前Action引用,名称为action名_语言代码_国家代码
查找顺序为从小范围到大范围, Action级优先级最大

分享到:
评论

相关推荐

    struts2.0国际化

    struts2.0国际化实现,文档说明文档说明文档说明

    struts1.0,struts2.0国际化

    在Struts1.0和Struts2.0中,国际化都是通过资源文件来实现的,允许开发者为不同的语言和文化定制消息、标签和文本。 **Struts1.0的国际化** 在Struts1.0中,国际化主要依赖于资源属性文件。这些文件通常命名为`...

    Eclipse struts2.0可视化开发组件

    4. **国际化支持:** 方便实现多语言应用。 5. **拦截器技术:** 可以在不修改业务代码的情况下增加或修改功能。 6. **AJAX集成:** 支持AJAX技术,提高用户体验。 #### 二、Eclipse简介 Eclipse是一款跨平台的...

    Struts2.0视频教程+struts2.0中文教程

    4. **国际化与本地化**:展示如何在Struts2中实现多语言支持,提供不同地区的用户体验。 5. **插件和扩展**:介绍Struts2的插件系统,如Tiles、Freemarker、i18n等,以及如何自定义和集成第三方插件。 6. ** strut...

    在Struts 2.0中国际化处理

    在Struts 2.0框架中,国际化的处理得到了显著的增强,这使得开发者能够更加灵活和高效地构建多语言支持的应用程序。本文将详细解析Struts 2.0中国际化处理的关键知识点,包括其核心概念、实现步骤以及一些实用技巧。...

    Struts2.0 Jar包

    Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...

    struts2.0jar包

    7. **国际化(i18n)**:通过简单的配置,Struts2支持多语言环境,方便应用的全球化部署。 8. **测试支持**:Struts2的Action可以通过Mock对象进行单元测试,增强了应用的测试覆盖率。 在实际开发中,`lib`目录下...

    Struts 2.0

    Action类通常会继承自`ActionSupport`,这个基类提供了许多内置功能,比如国际化支持和错误处理。你需要重写`execute()`方法,这是处理用户请求的实际逻辑所在。返回值决定了控制流程如何流转,例如返回`SUCCESS`...

    三大框架中文文档中的struts2.0开发手册(程序员必看)

    7. **国际化支持**:Struts2.0内置了对多语言的支持,可以轻松实现应用的国际化。 8. **测试友好**:Struts2.0的Action类可以通过Mock对象进行单元测试,有助于提高代码质量。 在使用Struts2.0进行开发时,开发...

    struts 2.0

    9. **国际化(i18n)支持**: Struts 2.0提供了强大的国际化支持,开发者可以通过资源包(Properties文件)轻松实现多语言环境的应用。 10. **异常处理**: Struts 2.0提供了全局和局部的异常处理机制,允许开发者...

    struts 2.0 详细配置

    Struts 2.0 是一个功能强大的框架,为开发者提供了很多便利的功能,如自动类型转换、国际化支持等。通过上述介绍,我们可以了解到 Struts 2.0 的核心概念及其工作原理。掌握了这些基础知识后,开发者可以更轻松地...

    Struts2.0学习系列 以及 Struts2.0安装包

    10. **国际化与本地化**:Struts2支持多语言环境,通过资源文件管理不同语言的显示文本。 总的来说,"Struts2.0学习系列"会引导你逐步探索以上知识点,结合提供的安装包,你可以搭建起一个简单的Struts2.0示例项目...

    Struts_2.0从入门到精通

    Struts2.0还提供了参数化的国际化字符串,使得在不同场景下灵活使用多语言文本成为可能。 五、转换器(Converter)在Struts2.0中的作用 转换器是Struts2.0框架中的一个重要概念,它负责将请求参数转换为Java类型的...

    Struts 2.0全攻略之Struts 2.0参考手册

    9. **国际化与本地化** Struts 2.0支持多语言环境,通过资源包(Resource Bundle)管理不同语言的文本,使得应用能够适应全球用户的需求。 10. **插件系统** Struts 2.0具有强大的插件系统,可以方便地扩展其功能...

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

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

    struts2.0英文文档

    5. **国际化支持**:Struts2.0 内置了国际化(I18N)支持,可以通过配置文件轻松实现多语言版本的应用程序。 6. **与 Spring 和 Hibernate 等其他框架集成**:Struts2.0 可以很容易地与其他 Java 开发框架集成,形成...

    struts2.0源代码

    10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源文件实现不同语言的切换。 通过对源代码的学习,开发者不仅可以了解Struts2的工作流程,还能深入理解MVC模式在实际应用中的实现,从而更好地设计和...

    struts2.0开发的都市供求信息系统

    这个都市供求信息系统全面展示了Struts2.0的使用,包括模型-视图-控制器的设计、数据库交互、用户认证、国际化支持等多个方面,为学习和实践Struts2.0提供了一个良好的平台。通过分析和重构这个项目,开发者可以深化...

Global site tag (gtag.js) - Google Analytics