您的位置:首页 > 编程语言 > Java开发

struts2的几种结果跳转方式

2019-03-22 21:13 183 查看
版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41083009/article/details/88750949

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: