Action类的execute()方法返回一个ActionForward对象。ActionForward对象代表了Web资源的逻辑对象,这里的Web资源可以是JSP页面、JavaServlet或Action。
下面是ActionForward类的源代码:
package org.apache.struts.action;
import org.apache.struts.config.ForwardConfig;
public class ActionForward extends ForwardConfig {
/**
* <p>Construct a new instance with default values.</p>
*/
public ActionForward() {
this(null, false);
}
/**
* <p>Construct a new instance with the specified path.</p>
*
* @param path Path for this instance
*/
public ActionForward(String path) {
this(path, false);
}
/**
* <p>Construct a new instance with the specified <code>path</code> and
* <code>redirect</code> flag.</p>
*
* @param path Path for this instance
* @param redirect Redirect flag for this instance
*/
public ActionForward(String path, boolean redirect) {
super();
setName(null);
setPath(path);
setRedirect(redirect);
}
/**
* <p>Construct a new instance with the specified <code>name</code>,
* <code>path</code> and <code>redirect</code> flag.</p>
*
* @param name Name of this instance
* @param path Path for this instance
* @param redirect Redirect flag for this instance
*/
public ActionForward(String name, String path, boolean redirect) {
super();
setName(name);
setPath(path);
setRedirect(redirect);
}
/**
* <p>Construct a new instance with the specified values.</p>
*
* @param name Name of this forward
* @param path Path to which control should be forwarded or
* redirected
* @param redirect Should we do a redirect?
* @param module Module prefix, if any
*/
public ActionForward(String name, String path, boolean redirect,
String module) {
super();
setName(name);
setPath(path);
setRedirect(redirect);
setModule(module);
}
/**
* <p>Construct a new instance based on the values of another
* ActionForward.</p>
*
* @param copyMe An ActionForward instance to copy
* @since Struts 1.2.1
*/
public ActionForward(ActionForward copyMe) {
this(copyMe.getName(), copyMe.getPath(), copyMe.getRedirect(),
copyMe.getModule());
}
}
分享到:
相关推荐
深入研究Struts 1.3.10源代码,可以帮助我们掌握Web应用开发的基本架构,理解MVC模式在实践中的应用,以及学习如何通过配置和编程控制请求流程。同时,通过分析源码,还可以学习到如何处理HTTP请求,验证用户输入,...
它的核心组件包括ActionServlet、Action、ActionForm和ActionForward等。ActionServlet作为入口点,处理HTTP请求,并根据配置的ActionMapping将请求转发到相应的Action。ActionForm用于在控制器和视图之间传递数据,...
这里的"Struts-1.3.10-src.zip"是一个包含Struts 1.3.10版本的源代码压缩包,用于开发者深入理解Struts的工作原理和自定义功能。以下将详细介绍Struts 1.3.10中的关键知识点: 1. **MVC设计模式**:MVC是一种软件...
- **Action**:实现了业务逻辑的类,通常继承自Struts的Action接口,负责处理请求并返回一个ActionForward对象指示视图如何展示结果。 - **ActionMapping**:定义了Action与请求URL之间的映射关系。 - **Tiles**...
前者定义Action类、Form Bean、数据源以及结果映射,后者则对Struts进行部署描述。 3. **Action类**:每个用户请求都会映射到一个特定的Action类,该类负责处理请求并调用业务逻辑。Action类通常会返回一个Forward...
下面我们将深入探讨Struts1的源代码,了解其核心组件和工作原理。 1. **ActionServlet**:这是Struts1的核心控制器,它是Servlet的子类。ActionServlet负责拦截所有的HTTP请求,并根据配置文件(struts-config.xml...
Struts1.3源代码的分析可以帮助我们深入理解其内部工作机制,这对于开发者来说具有重要的学习价值。 在Struts1.3版本中,主要包含以下几个核心组件: 1. **ActionServlet**:这是Struts的核心控制器,负责处理HTTP...
- src:包含Struts1.3.10的全部源代码。 要在Java Web项目中使用Struts2,需要将Struts2核心库(如Struts-core-2.x.jar、xwork-2.x.jar、ognl-2.x.jar、freemarker-2.x.jar、commons-logging-1.0.4.jar)放入`WEB-...
在描述中提到,这个源代码版本的结构与官方提供的有所不同,但更便于导入,这意味着可能是经过优化或者重新组织过的目录结构。 Struts 1.3.x 系列是Struts 1的最后一个主要分支,引入了一些关键的改进和修复,比如...
5. 改进的ActionForward:ActionForward对象现在可以指向相对或绝对URL,使得应用的路由更加灵活。 标签库是Struts的一大亮点,比如`struts-bean`、`struts-html`、`struts-logic`和`struts-nested`等,它们提供了...