Struts2配置全局资源与国际化信息实战指南
需积分: 3 107 浏览量
更新于2024-08-18
收藏 174KB PPT 举报
"这篇教程主要讲解了如何在Struts2框架中配置全局资源文件和实现国际化信息输出。教程提到了两个资源文件,分别是存放中文的`itcast_zh_CN.properties`和存放英文(默认语言)的`itcast.properties`。在`struts.xml`中通过`<constant>`标签设置`struts.custom.i18n.resources`常量来加载这些资源文件。在JSP页面中,使用`s:text`标签结合属性文件中的key来输出国际化信息。在Action类中,可以通过继承`ActionSupport`并调用`getText()`方法来获取属性文件中的值。此外,还介绍了Struts2框架的开发依赖jar包以及启动配置,其中Struts2通过Filter启动,并在`web.xml`中配置`FilterDispatcher`来读取`struts.xml`进行初始化。"
Struts2框架允许开发者轻松地配置全局资源文件以实现多语言支持,这在国际化应用中尤为重要。在这个教程中,我们首先看到了两个资源文件:`itcast_zh_CN.properties`和`itcast.properties`,它们分别存储中文和英文的信息。在实际应用中,你可以根据需要添加更多语言的资源文件,比如`itcast_es_ES.properties`用于西班牙语等。
为了使Struts2框架能够加载这些资源文件,我们需要在`struts.xml`配置文件中定义一个常量`struts.custom.i18n.resources`,其值为资源文件的基本名称,即`itcast`。这样,框架就会自动寻找以这个名字开头、不同语言后缀的资源文件。
在视图层,JSP页面可以通过`<s:text>`标签来输出国际化信息。`name`属性应该设置为属性文件中的key,例如`<s:text name="user"/>`会从相应的资源文件中查找并输出`user`键所对应的值。
在控制层,Action类可以继承`ActionSupport`,这样就可以利用`getText()`方法获取属性文件中的值。例如,`getText("user")`将返回`user`键的国际化信息。
对于表单字段,`<s:textfield>`标签的`key`属性可以用来指定属性文件中的key,例如`<s:textfield name="realname" key="user"/>`,这样表单字段的label会显示属性文件中`user`键对应的文本。
在Struts2的开发环境中,确保正确引入所需的jar包是非常关键的。基础的Struts2开发需要`struts2-core`、`xwork`、`ognl`、`freemarker`和`commons-logging`等jar包。如果需要与其他框架集成,比如Spring,还需要对应的plugin jar文件,例如`struts2-spring-plugin`。
Struts2框架不同于Struts1,它不是通过Servlet启动,而是通过Filter,即`FilterDispatcher`。在`web.xml`中配置这个过滤器,并映射到所有URL,使得所有的HTTP请求都会经过Struts2的处理,从而实现框架的初始化和控制流程。
这个教程涵盖了Struts2中配置资源文件实现国际化以及框架的基础配置,对于理解Struts2的国际化支持和框架启动流程有很好的指导作用。
2010-11-29 上传
2011-07-29 上传
2010-04-02 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Happy破鞋
- 粉丝: 12
- 资源: 2万+
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建