一、Struts2国际化介绍
1、 国际化原理
同一款软件 可以为不同用户,提供不同语言界面 ----国际化软件
需要一个语言资源包(很多properties文件,每个properties文件 针对一个国家或者语言 ,通过java程序根据来访者国家语言,自动读取不同properties文件
)
2、 资源包编写
properties文件命名 : 基本名称_语言(小写)_国家(大写).properties
例如 :
messages_zh_CN.properties 中国中文
messages_en_US.properties 美国英文
3、 ResourceBundle根据不同Locale(地域信息),读取不同国家properties文件
ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.US);
二、国际化配置
1、第一种全局国际化信息文件(所有Action都可以使用 )
properties文件可以在任何包中
需要在struts.xml中配置全局信息文件位置
struts.xml
<constant name="struts.custom.i18n.resources" value="messages"></constant> messages.properties 在src根目录
<constant name="struts.custom.i18n.resources" value="com.sihai.resources.messages"></constant> messages.properties 在com.sihai.resources 包
国际化信息
在Action中使用 :this.getText("msg");
package com.sihai.action;
import com.opensymphony.xwork2.ActionSupport;
public class I18nDemo1Action extends ActionSupport {
@Override
public String execute() throws Exception {
// 得到properties文件中信息.
//System.out.println(this.getText("msg"));
//动态文本
System.out.println(this.getText("msg", new String[]{"tom"}));
return NONE;
}
}
在jsp中使用 :<s:text name="msg" />
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<%--
<s:i18n name="com.sihai.action.package">
<s:text name="nameerror"/>
</s:i18n>
--%>
<%--<s:text name="name" />
--%>
<s:i18n name="com.sihai.action.I18nDemo1Action">
<s:text name="msg">
<s:param>张三</s:param>
</s:text>
</s:i18n>
</body>
</html>
在配置文件中(校验xml) :<message key="agemsg"></message>
2、第二种 Action范围信息文件(只能在某个Action中使用
)
数据只能在对应Action中使用,在Action类所在包 创建Action类名.properties
---------无需配置
3、第三种 package范围信息文件(package中所有Action都可以使用
)
数据对包 (包括子包)中的所有Action都有效 , 在包中创建
package.properties -----无需配置
4、第四种临时信息文件(主要在jsp中 引入国际化信息 )
在jsp指定读取 哪个properties文件
<s:i18n name="com.sihai.struts2.demo7.package">
<s:text name="customer"></s:text>
</s:i18n>
向信息中传递参数 {0} {1} ------------ MessageFormat动态消息文本
this.getText("required", new String[] { "用户名" });
分享到:
相关推荐
- **国际化**:通过配置资源文件实现多语言支持,增强应用的可用性。 - **异常处理**:配置异常拦截器,实现全局异常捕获和处理,提升用户体验。 - **文件上传与下载**:Struts2内置了对文件上传的支持,可以轻松...
9. **国际化与本地化**:Struts2支持多语言环境,通过资源包(Properties文件)实现不同地区的文本支持。 10. **模型驱动和值栈**:Struts2使用值栈来存储请求中的数据,模型驱动模式允许Action类与业务对象直接...
- **国际化与本地化**:框架内置了对多语言支持的机制,方便创建国际化的应用程序。 - **插件系统**:Struts2的插件机制允许快速集成第三方库和功能,如Ajax、富客户端组件、REST服务等。 总的来说,Struts2.0.11-...
此外,教程还会涉及Struts的国际化和本地化支持,以及异常处理机制,这是构建健壮Web应用的关键部分。Struts允许开发者通过配置文件定义全局错误处理策略,提高应用程序的稳定性。 在动作映射方面,教程会解释如何...
本教程将带领初学者逐步掌握Struts2的基本概念、核心组件以及实用功能。 第1章:STRUTS2入门 这一章节主要介绍Struts2的基础知识,包括为什么需要Struts2,它与传统的Struts1有什么不同,以及如何搭建一个基本的...
2009 MLDN魔乐科技 Struts课堂实战视频教程 全6讲 01-Struts_简介与登陆范例 02-Struts_工作原理与核心配置 03-Struts_对于输入参数的处理 ...05-Struts_Struts国际化处理 非常经典,适合初学者!
本教程将深入探讨如何在Struts2 2.3.15.3版本中实现国际化。 一、准备工作 首先,我们需要在项目资源文件夹下创建一个名为`src/main/resources`的目录,然后在此目录下创建`com/yourpackage/i18n`文件夹,用于存放...
8. **国际化与本地化**:Struts2支持多语言环境,开发者可以通过配置文件提供不同语言的资源包,以适应全球化的应用需求。 9. **Tiles框架集成**:Struts2可以与Tiles框架结合使用,以创建更复杂的布局和模板,提高...
4. **Struts2框架的核心特性**: Struts2的核心特性包括强大的动作映射、拦截器、结果类型、OGNL表达式语言、国际化支持、异常处理等。它通过拦截器模型增强了可扩展性和灵活性,允许开发者添加自定义行为到请求处理...
本教程将引导你入门Struts2的国际化功能,这是一项允许应用程序支持多种语言的重要特性。 在Struts2中实现国际化,首先你需要创建资源文件,这些文件通常以`.properties`为扩展名,例如`messages.properties`和`...
通过这个项目,你可以学习到如何在Java EE环境中搭建Struts2框架,如何组织项目的目录结构,如何编写Action,以及如何利用Struts2的特性如拦截器、国际化、动态方法调用等。同时,这也是一个了解和实践MVC设计模式的...
3. 示例代码:提供了一系列工作示例,展示了如何在实际项目中应用Struts2的各种功能,如表单验证、文件上传、国际化等。 4. FAQ和最佳实践:解答了常见问题,并提供了开发中的最佳实践建议。 通过Struts2.3.1.2-all...
8. **国际化和主题**:学习如何实现应用的多语言支持和自定义界面样式。 9. **插件使用**:根据项目需求,学习如何集成和使用Struts 2的插件,如Spring插件、Tiles插件等。 10. **最佳实践**:了解并遵循一些最佳...
Struts是Java Web开发中的一款经典MVC框架,由Apache软件基金会维护。它极大地简化了企业级应用的构建,提供...通过学习和实践本资料包中的教程,你将能深入理解Struts的国际化处理机制,并能够在实际项目中灵活运用。
此外,Struts2还具有异常处理、国际化、主题和皮肤等功能,使得开发者能够更好地管理和定制应用的外观和行为。其插件体系也十分丰富,如Tiles插件用于布局管理,Struts2-dojo-plugin则提供了与Dojo JavaScript库的...
Struts2内置了对多语言的支持,可以通过资源包(properties文件)来实现界面的国际化。 十、Struts2与Spring集成 Struts2可以轻松地与Spring框架集成,实现依赖注入(DI)和面向切面编程(AOP),进一步提升代码的...
它基于Model-View-Controller(MVC)架构模式,提供了丰富的特性,包括动作调度、拦截器、结果类型、国际化支持以及强大的标签库。在本教程中,我们将深入探讨Struts2的标签库及其API。 Struts2-Tags API是Struts2...
在“Struts2教程.chm”中,可能涵盖了Struts2的基础概念、配置、Action、Interceptor、Result、OGNL、国际化、异常处理、插件使用等方面的详细内容,对于初学者和进阶者都是极好的参考资料。而“打开方式.htm”可能...
9. **国际化与本地化**:Struts2支持多语言环境,通过资源包(properties文件)实现不同语言间的切换。 10. ** strut2-dojo-plugin**:这个插件允许开发者轻松地在应用中使用Dojo库,提供丰富的AJAX和UI组件。 ...
5. **异常处理与国际化**:学习如何在Struts2中处理异常,实现多语言支持,提升应用的用户体验。 6. **插件与扩展性**:了解Struts2的插件体系,如何利用插件增强功能,如Tiles、Freemarker等视图技术。 通过学习...