Struts2.0 Action详解:从Struts1.x到Struts2.0的变化
需积分: 9 71 浏览量
更新于2024-09-20
收藏 341KB DOC 举报
"这篇学习笔记主要探讨了Struts2框架的核心概念,特别是与Struts1.x相比,Struts2.0在Action模型上的变化。笔记中提到了在Struts1.x中,Action需要继承特定的接口,而在Struts2.0中则不再有此限制,但通常我们会选择继承ActionSupport类来实现功能。此外,还展示了如何在Struts2中创建一个简单的HelloWorld示例,包括JSP页面和Action类的代码片段。"
在Struts2框架的学习中,了解Action的角色至关重要。Action是业务逻辑处理的主要组件,它负责接收用户请求、处理数据并返回结果到视图层。与Struts1.x相比,Struts2的Action设计更为灵活。在Struts1.x中,Action类需要直接或间接地继承自`org.apache.struts.action.Action`接口,而Struts2.0则打破了这一限制,允许Action类不需继承任何特定类或实现特定接口。这样做的好处是提高了代码的可复用性和可扩展性。
然而,在实际开发中,为了利用Struts2提供的便利功能,如国际化、数据校验等,我们往往会选择继承`com.opensymphony.xwork2.ActionSupport`类。这个类提供了默认的错误处理和结果返回机制,我们只需要重写`execute()`方法来定义我们的业务逻辑。
例如,给出的HelloWorld示例中,Action类`HelloWorld`继承了`ActionSupport`。在`execute()`方法内,我们设置了消息变量`message`的值为"HelloWorld"。这个`message`属性可以通过getter方法`getMessage()`获取。在对应的JSP页面中,使用Struts2标签库的`s:property`标签显示这个消息。
```java
public class HelloWorld extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
@Override
public String execute() {
message = "HelloWorld";
return "success"; // 指定返回的结果代码,对应struts.xml配置的result节点
}
}
```
在JSP页面`HelloWorld.jsp`中,`<s:property value="message"/>`标签会显示Action中的`message`属性值:
```jsp
<h2><s:property value="message"/></h2>
```
这个简单的例子展示了Struts2中Action的基本用法,以及如何在Action和视图之间传递数据。通过这种方式,开发者可以构建更复杂的业务逻辑,同时保持MVC架构的清晰分离。在深入学习Struts2时,还需要了解配置文件(struts.xml)的使用、拦截器(Interceptors)的概念、结果类型(Result Types)以及如何处理表单数据和异常等。
2011-12-13 上传
2012-10-14 上传
2011-08-15 上传
2023-05-19 上传
2023-05-13 上传
2023-08-01 上传
2024-09-15 上传
2023-10-15 上传
2023-05-19 上传
装饭的桶
- 粉丝: 1
- 资源: 1
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码