"配置国际化全局资源文件以输出国际化信息是Struts2框架中的一个重要特性,允许应用程序根据用户语言和地域显示相应的本地化内容。这里主要介绍如何创建和配置这些资源文件,以及Struts2框架对国际化的支持。
首先,资源文件的命名遵循一定的规则:`baseName_language_country.properties`。例如,对于中国大陆的用户,基础名称可能是`qinghua`,语言为`zh`,国家为`CN`,所以资源文件名为`qinghua_zh_CN.properties`,包含中文欢迎信息`welcome=欢迎来到清华IT`。对于美国用户,文件名为`qinghua_en_US.properties`,包含英文欢迎信息`welcome =welcome to tsinghua`。在处理中文属性文件时,需要使用JDK的`native2ascii`命令将其转换为Unicode编码,以便于Struts2正确识别。
Struts2框架提供了三种范围的资源文件管理:全局范围、包范围和Action范围。全局范围的资源文件适用于整个应用,而包范围的资源文件则只对特定包内的Action有效,Action范围的资源文件则更为具体,只对单个Action起作用。在例子中,`OrderListAction` 类并没有直接展示如何配置国际化,但它是一个典型的Struts2 Action,展示了Action执行方法的基本结构。
Struts2框架的优点包括其非侵入式设计,不依赖Servlet API和Struts API,使得应用更易于维护和扩展。此外,Struts2引入了拦截器机制,支持AOP编程,便于实现如权限控制等功能。它还内置了类型转换器,自动将请求参数转换为所需的类型。Struts2支持多种视图技术,如JSP、FreeMarker等,提供灵活的表现层选择。输入验证功能可以针对特定方法进行,确保数据安全。最后,Struts2的国际化管理支持全局、包和Action级别的资源文件,让多语言支持变得简单。
在搭建Struts2开发环境时,我们需要获取必要的jar文件,编写Struts2配置文件`struts.xml`,并在`web.xml`中配置Struts2的前端控制器DispatcherServlet。这通常包括创建一个新的Web项目,将核心库添加到`lib`目录,编写核心配置文件,并进行Web容器的相应配置。
在实际开发过程中,开发者还需要了解Struts2的其他核心概念,如Action配置、结果类型、拦截器堆栈、OGNL表达式等,以充分利用框架提供的功能。同时,掌握如何在Action类中引用资源文件中的文本,以及如何根据用户会话信息动态切换语言设置,是实现国际化功能的关键。"