【张冰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
- 粉丝: 386
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 章节1:Python入门视频
- 无需样板的 Python 类.zip
- ESP32 : 32-bit MCU & 2.4 GHz Wi-Fi & BT/BLE SoCs
- 博物馆文博资源库-JAVA-基于springBoot博物馆文博资源库系统设计与实现
- 旅游网站-JAVA-springboot+vue的桂林旅游网站系统设计与实现
- 小说网站-JAVA-基于springBoot“西贝”小说网站的设计与实现
- 游戏分享网站-JAVA-基于springBoot“腾达”游戏分享网站的设计与实现
- 学习交流-JAVA-基于springBoot“非学勿扰”学习交流平台设计与实现
- EDAfloorplanning
- 所有课程均提供 Python 复习部分.zip