每种框架都会有国际化的支持,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)方法实现的
- public String execute() throws Exception {
-
-
-
-
-
- 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;
-
- }
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国际化实现,文档说明文档说明文档说明
在Struts1.0和Struts2.0中,国际化都是通过资源文件来实现的,允许开发者为不同的语言和文化定制消息、标签和文本。 **Struts1.0的国际化** 在Struts1.0中,国际化主要依赖于资源属性文件。这些文件通常命名为`...
4. **国际化支持:** 方便实现多语言应用。 5. **拦截器技术:** 可以在不修改业务代码的情况下增加或修改功能。 6. **AJAX集成:** 支持AJAX技术,提高用户体验。 #### 二、Eclipse简介 Eclipse是一款跨平台的...
4. **国际化与本地化**:展示如何在Struts2中实现多语言支持,提供不同地区的用户体验。 5. **插件和扩展**:介绍Struts2的插件系统,如Tiles、Freemarker、i18n等,以及如何自定义和集成第三方插件。 6. ** strut...
在Struts 2.0框架中,国际化的处理得到了显著的增强,这使得开发者能够更加灵活和高效地构建多语言支持的应用程序。本文将详细解析Struts 2.0中国际化处理的关键知识点,包括其核心概念、实现步骤以及一些实用技巧。...
Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...
7. **国际化(i18n)**:通过简单的配置,Struts2支持多语言环境,方便应用的全球化部署。 8. **测试支持**:Struts2的Action可以通过Mock对象进行单元测试,增强了应用的测试覆盖率。 在实际开发中,`lib`目录下...
Action类通常会继承自`ActionSupport`,这个基类提供了许多内置功能,比如国际化支持和错误处理。你需要重写`execute()`方法,这是处理用户请求的实际逻辑所在。返回值决定了控制流程如何流转,例如返回`SUCCESS`...
7. **国际化支持**:Struts2.0内置了对多语言的支持,可以轻松实现应用的国际化。 8. **测试友好**:Struts2.0的Action类可以通过Mock对象进行单元测试,有助于提高代码质量。 在使用Struts2.0进行开发时,开发...
9. **国际化(i18n)支持**: Struts 2.0提供了强大的国际化支持,开发者可以通过资源包(Properties文件)轻松实现多语言环境的应用。 10. **异常处理**: Struts 2.0提供了全局和局部的异常处理机制,允许开发者...
Struts 2.0 是一个功能强大的框架,为开发者提供了很多便利的功能,如自动类型转换、国际化支持等。通过上述介绍,我们可以了解到 Struts 2.0 的核心概念及其工作原理。掌握了这些基础知识后,开发者可以更轻松地...
10. **国际化与本地化**:Struts2支持多语言环境,通过资源文件管理不同语言的显示文本。 总的来说,"Struts2.0学习系列"会引导你逐步探索以上知识点,结合提供的安装包,你可以搭建起一个简单的Struts2.0示例项目...
Struts2.0还提供了参数化的国际化字符串,使得在不同场景下灵活使用多语言文本成为可能。 五、转换器(Converter)在Struts2.0中的作用 转换器是Struts2.0框架中的一个重要概念,它负责将请求参数转换为Java类型的...
9. **国际化与本地化** Struts 2.0支持多语言环境,通过资源包(Resource Bundle)管理不同语言的文本,使得应用能够适应全球用户的需求。 10. **插件系统** Struts 2.0具有强大的插件系统,可以方便地扩展其功能...
在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...
5. **国际化支持**:Struts2.0 内置了国际化(I18N)支持,可以通过配置文件轻松实现多语言版本的应用程序。 6. **与 Spring 和 Hibernate 等其他框架集成**:Struts2.0 可以很容易地与其他 Java 开发框架集成,形成...
10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源文件实现不同语言的切换。 通过对源代码的学习,开发者不仅可以了解Struts2的工作流程,还能深入理解MVC模式在实际应用中的实现,从而更好地设计和...
这个都市供求信息系统全面展示了Struts2.0的使用,包括模型-视图-控制器的设计、数据库交互、用户认证、国际化支持等多个方面,为学习和实践Struts2.0提供了一个良好的平台。通过分析和重构这个项目,开发者可以深化...