Struts2自定义类型转换与泛型应用解析
需积分: 0 45 浏览量
更新于2024-08-17
收藏 2.03MB PPT 举报
"定义转换类泛型-第5讲 Struts高级应用."
在Struts2框架中,类型转换是一项重要的功能,它确保了从用户界面(前端)传递到服务器(后端)的数据能够正确地被转化为应用程序可以处理的类型。本讲主要探讨Struts2中的类型转换,包括自动类型转换、基于OGNL的类型转换以及如何自定义类型转换器。
1. **为什么需要类型转换?**
在Web应用中,所有的输入和输出本质上都是字符串形式。然而,服务器端的业务逻辑通常需要处理各种不同的数据类型,如整数、日期、自定义对象等。因此,为了在后台正确地处理这些数据,必须将从前端接收到的字符串进行类型转换。
2. **Struts2的类型转换**
- **基于XWork的转换**:Struts2的类型转换基础是XWork框架,它内置了一套自动类型转换机制。
- **自动类型转换**:对于基本类型(如String、int、Date等),Struts2能自动进行双向转换,即从字符串到相应的类型,再从类型回转到字符串。
- **内建的类型转换示例**:例如,Struts2可以将String转换为int,Date转换为String等。
- **基于OGNL的类型转换**:在Action类中定义复合类型的对象,通过OGNL(Object-Graph Navigation Language)在JSP页面中直接访问这些属性,Struts2会自动处理类型转换。
3. **Struts2的自定义类型转换**
- **必要性**:虽然自动类型转换能覆盖大部分需求,但有时需要处理更复杂的情况,如将复合类型的变量转换为字符串,或将多个字符串组合成一个复合类型。
- **局部类型转换**:仅对特定Action的属性生效,需创建与Action同名的conversion.properties文件,并在其中指定属性名和转换类名。
- **全局类型转换**:适用于所有Action中特定类型的属性,需要在struts.xml配置文件中注册转换器。
**制作自定义类型转换器的步骤:**
1. **创建转换类**:对于局部转换,继承`DefaultTypeConverter`并重写`convertValue`方法,或者继承`StrutsTypeConverter`并覆盖`convertFromString`和`convertToString`方法。对于全局转换,同样需要实现这些方法,但配置过程不同。
2. **配置文件**:对于局部转换,需要在Action类的同一目录下创建conversion.properties文件,列出需要转换的属性及其对应的转换器类名。对于全局转换,需要在struts.xml中添加配置,指定转换器类。
Struts2的类型转换机制增强了其与用户交互的能力,通过自动和自定义的转换策略,使得数据在前端和后端之间无缝流转。理解和掌握这一机制对于开发高效、健壮的Struts2应用程序至关重要。
2013-07-13 上传
2023-11-23 上传
2012-04-20 上传
点击了解资源详情
2022-06-26 上传
799 浏览量
2009-02-20 上传
2012-05-13 上传
点击了解资源详情
受尽冷风
- 粉丝: 28
- 资源: 2万+
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析