【张冰Struts2学习笔记】0201_Action接口与ActionSupport类
在Struts2框架的学习中,`Action`接口与`ActionSupport`类是核心组件,用于处理用户请求并返回相应的结果。本篇笔记将深入探讨这两个关键概念,以及它们在实际开发中的应用。 `Action`接口是Struts2框架中控制器层的主要组件。它定义了两个关键方法: 1. `execute()`:这是最重要的方法,负责处理用户请求,并根据业务逻辑返回一个`String`类型的值,该值对应于配置文件中定义的结果页面。例如,返回"success"表示业务处理成功,用户将被重定向到"success.jsp"页面。 ```java public interface Action { String execute(); } ``` 然而,直接实现`Action`接口并不推荐,因为这会缺少一些框架提供的便利功能,比如字段绑定、类型转换、国际化消息支持等。这就是`ActionSupport`类的作用。 `ActionSupport`类是`Action`接口的一个基础实现,提供了上述提到的一些附加功能: 1. **字段绑定**:`ActionSupport`类实现了`ModelDriven`接口,可以自动将请求参数绑定到Action类的私有属性上,方便数据的获取。 2. **类型转换**:通过`ConversionService`,`ActionSupport`可以自动进行类型转换,避免手动转换带来的麻烦。 3. **校验**:提供了`validate()`方法,可以进行自定义的输入验证,框架会自动处理验证失败的情况。 4. **国际化**:包含`FieldErrors`和`Errors`,用于处理错误消息,支持多语言环境。 5. **状态管理**:内置了`supports`属性,用于在拦截器中判断Action是否需要执行。 下面是一个简单的`ActionSupport`类实例: ```java public class MyAction extends ActionSupport { private String username; private String password; // getters and setters @Override public String execute() throws Exception { // 业务逻辑处理 return "success"; } @Override public void validate() { if (username == null || username.isEmpty()) { addFieldError("username", "用户名不能为空"); } // 其他验证规则 } } ``` 在实际项目中,我们通常会继承`ActionSupport`来创建自己的Action类,以利用其丰富的功能。同时,Struts2的配置文件(struts.xml或struts.properties)也需要定义Action的相关配置,如Action的名称、结果页面等。 在开发过程中,了解并熟练掌握`Action`接口和`ActionSupport`类的用法,能有效提高开发效率,减少错误,使代码更加规范。通过`ZB_S2_D0201`这个压缩包文件,你可以找到更详细的代码示例和解释,以便深入理解这两个关键概念。
- 1
- 粉丝: 387
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 用于协调多无人机路径规划的多维优化Matlab程序.rar
- 用于自动无人机飞行和仿真的通用原理图和 MATLAB 文件.rar
- 与时间相关的线性动力学系统拟合Matlab代码.rar
- 原件精确放射路径的快速计算matlab代码.rar
- 在Matlab中用蒙特卡罗方法模拟二维伊辛模型.rar
- 在MATLAB中实现B样条,包括执行结点插入和删除过程.rar
- 在C++和Matlab中用各种方法求解1D、2D和3D半导体泊松漂移扩散方程.rar
- 在状态估计中使用 EKF 和不使用 EKF 之间的差异Matlab代码.rar
- 自主移动机器人和概率机器人的任务Matlab代码.rar
- 主动配电网电压控制策略Matlab实现.rar
- 最优状态估计:卡尔曼、H Infinity 和非线性方法Matlab代码.rar
- ZSD-YOLO论文原文
- 离线xml格式化html
- 智能车牌识别系统设计及其无牌车处理方案研究
- python源码教程,超级详细,附开发教程手册,python前端开发,入门学习第一章,教程非常仔细
- 液体药品自动罐装机设备3D图纸和工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip