Struts2配置全局资源与国际化信息详解
需积分: 11 155 浏览量
更新于2024-07-12
收藏 318KB PPT 举报
"本文主要介绍了如何在Struts2框架中配置全局资源文件并输出国际化信息。Struts2是一个基于MVC架构的Web框架,相比于Struts1,它具有无侵入式设计、拦截器、类型转换器、多视图支持和更强大的输入验证等优势。在Struts2中,我们可以将资源文件定义为全局资源,便于在JSP页面和Action中访问国际化信息。此外,文章还简述了搭建Struts2开发环境的步骤,包括获取所需jar文件、编写配置文件以及在web.xml中添加启动配置。"
在Struts2框架中,配置全局资源文件是通过在`struts.xml`配置文件中设置`struts.custom.i18n.resources`常量来实现的。例如,如果资源文件的基本名为`itcast`, 配置如下:
```xml
<constant name="struts.custom.i18n.resources" value="itcast" />
```
这样,`itcast.properties`(或对应不同语言的`itcast_en.properties`、`itcast_zh_CN.properties`等)就会作为全局资源文件,可以在整个应用中被引用。
在JSP页面中,可以使用`<s:text>`标签来输出国际化信息。例如,如果在资源文件中有键名为`user`的条目,可以这样写:
```jsp
<s:text name="user" />
```
在Action类中,如果Action继承自`ActionSupport`,可以使用`getText()`方法获取国际化信息。例如:
```java
String message = getText("user");
```
这里,`"user"`是资源文件中的键。
另外,Struts2的表单标签`<s:textfield>`可以通过`key`属性引用资源文件中的键,如:
```jsp
<s:textfield name="realname" key="user" />
```
这使得字段的提示信息可以从资源文件中动态获取,实现了国际化。
Struts2相比Struts1有以下显著优点:
1. **无侵入式设计**:Struts2的应用可以不依赖ServletAPI和StrutsAPI,使得代码更易于维护和解耦。
2. **拦截器**:Struts2引入拦截器机制,支持AOP编程,可以方便地实现权限控制等附加功能。
3. **类型转换器**:内置类型转换器,简化了数据类型转换的过程,无需像Struts1那样注册自定义转换器。
4. **多视图支持**:支持JSP、FreeMarker、Velocity等多种视图技术,提高了灵活性。
5. **输入验证**:可以在特定方法级别进行输入验证,提供了更精细的控制。
6. **国际化资源管理**:提供了全局、包和Action范围的国际化资源文件管理,便于管理和使用。
为了搭建Struts2开发环境,需要:
1. 获取Struts2相关的jar文件,通常可以从Apache Struts官方网站下载最新版本。
2. 编写`struts.xml`配置文件,这是Struts2的核心配置文件,用于定义Action、结果映射等。
3. 在`web.xml`中配置Struts2的前端控制器`FilterDispatcher`(在新版本中为`StrutsPrepareAndExecuteFilter`),以启动Struts2框架。
通过以上步骤,即可开始使用Struts2进行Web应用开发。
2011-07-29 上传
2013-03-26 上传
2014-05-21 上传
点击了解资源详情
点击了解资源详情
2009-07-23 上传
2010-04-10 上传
2012-12-02 上传
2013-07-27 上传
受尽冷风
- 粉丝: 29
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载