struts2的几种结果跳转方式

博客主要介绍了Struts2中请求转发、重定向、转发到action和重定向到action的配置方法。请求转发type可不写,重定向将type换成'redirect'。还提到用jsp页面做测试,获取时间属性,重定向后页面无法接收request内容,可通过后台打印语句验证执行情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值