### WebWork2 教程详解 #### 一、引言 WebWork2 是一款轻量级的 Java Web 开发框架,它遵循 MVC (Model-View-Controller) 设计模式,旨在简化 Web 应用程序的开发流程。通过本文档的学习,您将能够掌握 WebWork2 的基本组件和操作流程。 #### 二、核心概念与组成部分 ##### 2.1 Actions 和 Results - **Actions**:在 WebWork 中扮演控制器的角色,它们是应用的核心执行单元。每个 Action 都对应一个具体的业务逻辑或操作。 - **Results**:Action 执行完毕后返回的结果,通常会指引 WebWork 如何处理下一步,比如转向某个 JSP 页面或执行其他操作。 ##### 2.2 创建 Action 的基本步骤 1. **创建调用 Action 的 JSP 页面**:用于触发 Action 的执行,通常包含一个表单,表单的 action 属性指向 Action 的 URL。 2. **创建 Action 类**:这是执行具体业务逻辑的地方,继承自 `ActionSupport` 或实现 `Action` 接口。 3. **创建处理 Action 返回结果的 JSP 页面**:显示 Action 处理后的结果。 4. **在 xwork.xml 中注册 Action**:配置文件中声明 Action 的名称、实现类以及可能的结果。 #### 三、示例分析:HelloWebWorld 示例 为了更深入地理解 WebWork2 的工作原理,我们将通过一个简单的“HelloWebWorld”示例来进行详细解析。 ##### 3.1 xwork.xml 文件配置 ```xml <xwork> <include file="webwork-default.xml"/> <package name="default" extends="webwork-default"> <default-interceptor-ref name="defaultStack"/> <action name="helloWebWorld" class="lesson03.HelloWebWorldAction"> <result name="success" type="dispatcher">ex01-success.jsp</result> </action> </package> </xwork> ``` - **Action 配置**:这里定义了一个名为 `helloWebWorld` 的 Action,其实现类为 `lesson03.HelloWebWorldAction`。 - **Result 定义**:当 Action 执行成功时,将转向名为 `ex01-success.jsp` 的 JSP 页面。 ##### 3.2 调用 Action 的 JSP 页面 ```html <html> <head> <title>WebWork Tutorial - Lesson3 - Example 1</title> </head> <body> <p>Click the button below to activate HelloWebWorldAction.</p> <form action="helloWebWorld.action" method="post"> <p><input type="submit" value="Hello!"/></p> </form> </body> </html> ``` - **表单提交**:用户点击“Hello!”按钮后,将向 `helloWebWorld.action` 发送 POST 请求。 ##### 3.3 Action 类 ```java package lesson03; import com.opensymphony.xwork.ActionSupport; public class HelloWebWorldAction extends ActionSupport { private String hello; public String getHello() { return hello; } public String execute() throws Exception { hello = "Hello, WebWorld!"; return SUCCESS; } } ``` - **execute 方法**:该方法设置 `hello` 字段并返回 `SUCCESS` 常量,指示 Action 成功执行。 - **返回结果**:根据配置,Action 成功执行后会转向 `ex01-success.jsp` 页面。 ##### 3.4 显示结果的 JSP 页面 ```html <%@ taglib uri="webwork" prefix="ww" %> <html> <head> <title>WebWork Tutorial - Lesson3 - Example 1</title> </head> <body> <ww:property value="hello"/> </body> </html> ``` - **显示 Action 结果**:通过 `<ww:property>` 标签显示 `hello` 变量的值。 #### 四、总结 通过上述步骤,我们了解了如何使用 WebWork2 构建一个简单的 Web 应用。从 Action 的创建到结果的展示,每一个环节都是 WebWork2 框架运作的关键所在。希望本教程能帮助您快速入门 WebWork2,并在实际项目中灵活运用这些知识。
剩余38页未读,继续阅读
- 粉丝: 14
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Qt和C++的网盘系统(Network disk system based on Qt and C++)详细文档+全部资料+高分项目.zip
- 基于Qt和openCV人脸识别程序(linux-ubuntu系统下)详细文档+全部资料+高分项目.zip
- 基于Qt和MySQL的图书管理系统详细文档+全部资料+高分项目.zip
- 基于Qt界面的学生信息管理系统详细文档+全部资料+高分项目.zip
- 基于Qt和MySQL实现的图书管理系统详细文档+全部资料+高分项目.zip
- 基于Qt及OpenCv设计了一个视觉检测系统,实现了米粒的计数、缺陷分析功能。详细文档+全部资料+高分项目.zip
- 基于Qt和百度API的简单人脸识别系统详细文档+全部资料+高分项目.zip
- 基于Qt开发的图片文字识别系统详细文档+全部资料+高分项目.zip
- 基于Qt开发的网盘系统详细文档+全部资料+高分项目.zip
- 基于Qt框架开发的任务管理器,ui仿照win10操作系统课程设计使用c++详细文档+全部资料+高分项目.zip
- 基于Qt框架的学生成绩管理系统详细文档+全部资料+高分项目.zip
- 基于Qt实现windows系统详细文档+全部资料+高分项目.zip
- 基于QT实现的地图导航系统(Dijkstra算法)详细文档+全部资料+高分项目.zip
- 基于Qt平台、MySQL 数据库以及UWB定位模块开发融合物联网标识与定位技术的仓储管理系统详细文档+全部资料+高分项目.zip
- 基于Qt实现的网盘系统.详细文档+全部资料+高分项目.zip
- 基于Qt实现的教务系统详细文档+全部资料+高分项目.zip