功能:

点击login , redirect 到hello.jsp 显示 "hello"

点击redirect, redirect 到 error.jsp 显示 "error"

1.创建Struts2 工程

2.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

3.index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><s:a action="login">login</s:a><br/><s:a action="login!redirect.action">redirect</s:a> <!--此处有bug-->
</body>
</html>

4.LoginAction.java

package com.action;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID=1L;public String execute() throws Exception{return SUCCESS;}public String redirect() throws Exception{return ERROR;}
}

5.UserAction.java

package com.action;
import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {private static final long serialVersionUID=1L;public String execute() throws Exception{return SUCCESS;}
}

6.struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd">
<struts><package name="default" extends="struts-default"><action name="login" class="com.action.LoginAction"><result type="redirectAction"><param name="actionName">userLogin</param><param name="namespace">/user</param></result><result name="error" type="redirectAction">error</result>  <!--此处的name为LoginAction.redirect传过来的值ERROR--></action><action name="error"><result>/error.jsp</result></action></package><package name="user" extends="struts-default" namespace="/user"><action name="userLogin" class="com.action.UserAction"><result>/hello.jsp</result></action></package>
</struts>

7.error.jsp & hello.jsp

<body><center><h2>error</h2></center>
</body><body><center><h2>hello</h2></center>
</body>

转载于:https://www.cnblogs.com/c0liu/p/5493283.html

redirect-action相关推荐

  1. java零碎要点---struts2中redirect和redirectAction的区别

    struts2中redirect和redirectAction的区别 struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的 ...

  2. struts2 action的安全隐患 上

    本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘框架安全漏洞的一些心得体会. 推荐以下人群阅读 ...

  3. Struts2 学习系列 (3) 跳转类型与通配符映射

    2019独角兽企业重金招聘Python工程师标准>>> 跳转类型 chain:Action链式处理的结果类型,也就是将结果转发到这个action中. chart:整合JFreeCha ...

  4. struts.xml配置文件中result的语法

    struts.xml配置文件中result的语法:xxxxx Struts2支持的不同类型的返回结果为: Chain Result-->type="chain" 用来处理Ac ...

  5. 将 Shiro 作为应用的权限基础

    Shiro 是 Java 世界中新近出现的权限框架,较之 JAAS 和 Spring Security,Shiro 在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势.本文介绍了 Shiro 的 ...

  6. 接口转发和重定向区别(四)

    一.Chain Result: 这个result调用另外的一个action,连接自己的拦截器栈和result. actionName (默认) - 被调用的action的名字 namespace - ...

  7. MVC在基控制器中实现处理Session的逻辑

    当需要跨页面共享信息的时候,Session是首当其冲的选择,最典型的例子就是:在处理登录和购物车逻辑的时候需要用到Session.在MVC中,可以把处理Session的逻辑放在一个泛型基控制器中,但需 ...

  8. laravel中及其常用的一些函数方法(自己看)和技巧(不断添加中)

    手册:https://laravelacademy.org/ 1.中间件的定义Middleware 2.路由的定义和写法 3.控制器Controller之Request 4.控制器Controller ...

  9. laravel中Request、Session、Response、Middelware

    Request请求 使用的是symfony/http-foundation组件 存放$_get,$_post,$_cookie,$_files,$_server等数据 Public function ...

最新文章

  1. docker实战部署Javaweb项目
  2. python中二维数组的建立,输入和输出
  3. 数据仓库专题(23):总线矩阵的另类应用-Drill Down into a More Detailed Bus Matrix
  4. logback与log4j比较
  5. 实践作业2:黑盒测试实践(小组作业)每日任务记录1
  6. CountDownLatch 介绍与举例实现
  7. [美丽的烦恼] SQL删除某些字段重复的记录(只保留一条)
  8. Navicat连接CentOS7中的MariaDB
  9. 聊聊我的 2018 年
  10. 松本行弘为什么开发Ruby
  11. win11用虚拟机win10安装docker
  12. AV1代码学习:av1_first_pass函数
  13. startx 命令详解
  14. arduino loar_「雕爷学编程」Arduino动手做(15)---手指侦测心跳传感器
  15. 获取车辆VIN等OBD信息
  16. 数据结构--链栈的c语言实现(超详细注释/实验报告)
  17. OSChina 周二乱弹 ——快晒晒你们公司的圣诞小姐姐啊!
  18. soul从入门到进阶02——soul-admin的数据同步流程
  19. == 与 === 的区别
  20. C#一元一次算法求解

热门文章

  1. spacy库的安装与使用_Python 安装、使用第三方库的一些经验
  2. 【浙大软件学院机试】深度优先搜索、并查集和优先级队列知识点(Python实现)
  3. python【力扣LeetCode算法题库】169-多数元素
  4. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY14-概率图模型
  5. java方法的参数_Java方法参数
  6. dockerfile tomcat 配置jvm参数_Java 从小白到大牛,JVM 不得不知的一些参数和配置
  7. 子组件自动执行方法_【自动化程序的最佳实践】 04 自动化程序的生命周期
  8. 网站排名在首位后,为什么还要继续做SEO?
  9. 网络推广外包——网络推广外包专员面对外链发布更注重细节
  10. 网络推广外包——网络推广外包指出新站上线前一定要做好自我检测