1、请求转发
2、重定向
3、转发到action
4、重定向到action
用来做测试的jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<font color="red" size="10">测试成功!</font>
<font color="red" size="10">${date}</font> // <-----------
</body>
</html>
获取了一个时间属性,测试重定向时用到。
以下方式均在struts.xml中配置
1、请求转发
type可以不写,默认就是它。
2、重定向
把type="dispatcher"换成type="redirect"就行了。
L1Action.java
package com;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class L1Action extends ActionSupport {
HttpServletRequest requset=ServletActionContext.getRequest();
public String execute() {
System.out.println("aaaaaaa");
requset.setAttribute("date", new Date());
return SUCCESS;
}
}
L1Action.java和L2Action.java差不多,包括后面的L3、L4;这里用ServletActionContext给request设置了一个时间值,当使用重定向后页面就没有办法接收request里的东西,相当于发送第二个请求。测试的时候可以验证一下。
如果不确定是否执行了语句,可以看下方是否打印了相应语句(如:aaaaaaaa)。
3、转发到action
根据后台打印的语句,先做原来的action,再做转发的。
4、重定向到action