struts2的结果类型:

<action name="loginAction" class="com.itheima.action.LoginAction">
<result name="success" <strong><span style="color:#FF6666;">type="chain"</span></strong>><param name="actionName">successAction</param><param name="name">${name}</param>
</result>
</action>

struts2中的结果类型有下面几种:

        <result-types><result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/><result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/><result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/><result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/><result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/><result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/><result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/><result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/><result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/><result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" /><result-type name="postback" class="org.apache.struts2.dispatcher.PostbackResult" /></result-types>

重要的有几下几种:

dispatcher  ——  请求转发到一个页面 (默认),不能够用这样的方式转发到一个action

chain          ——  一个action请求转发至还有一个 action

redirect       ——  响应重定向到一个页面,也能够实现响应重定向到action

redirectAction       —— 一个action响应重定向至还有一个 action

stream        ——  文件下载

注意:假设结果类型改成 type = “chain”  ,则加了那些携带的參数都不会起到作用,由于chain 是请求转发,还在一次请求内,本来就携带了參数,不须要再去声明,也不能够加入别的參数,不会起到作用,由于一開始表单提交信息后,该次请求的信息以固定。

响应重定向可防止表单反复提交

一般action重定向到jsp,可是有时会重定向到还有一个action

首先看下LoginAction.java

package com.itheima.action;public class LoginAction {private String name;public String getName() {return name;}public String execute() {//名字固化,所以不须要setXXX()方法name="lcl";return "success";}
}

SuccessAction.java

package com.itheima.action;public class SuccessAction {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public String execute() {return "success";}
}

假设重定向时传递參数,有下面几种方式:

<action name="loginAction" class="com.itheima.action.LoginAction"><result type="redirect">successAction?name=${name}</result>
</action><action name="successAction" class="com.itheima.action.SuccessAction"><result type="redirect">/login.jsp?name=${name}</result>
</action>
<action name="loginAction" class="com.itheima.action.LoginAction"><result type="redirectAction">successAction?name=${name}</result>
</action><action name="successAction" class="com.itheima.action.SuccessAction"><result type="redirect">/login.jsp?name=${name}</result>
</action>
<action name="loginAction" class="com.itheima.action.LoginAction"><result type="redirectAction"><param name="actionName">successAction</param><param name="name">${name}</param></result>
</action><action name="successAction" class="com.itheima.action.SuccessAction"><result type="redirect">/login.jsp?name=${name}</result>
</action>

可是以下这样的配置不行:

<action name="loginAction" class="com.itheima.action.LoginAction"><result type="redirect"><param name="actionName">successAction</param><param name="name">${name}</param></result>
</action><action name="successAction" class="com.itheima.action.SuccessAction"><result type="redirect">/login.jsp?name=${name}</result>
</action>

struts2 action重定向相关推荐

  1. Struts2 action的扩展名两种修改方法

    STRUTS2 ACTION的扩展名默认为.action,在struts1.X前为.do,如果要把STRUTS2的ACTION 的扩展名也改成.do可以按如下方法做. 方法一 struts.xml: ...

  2. struts2 action 返回原始文本字符串

    struts2 action 返回原始字符串 文章来源 blog.csdn.net/joyous/article/details/80722121 以返回 stream 的方式返回原始文本字符串,返回 ...

  3. struts2 action中result参数详解

    chain 用来处理Action链 com.opensymphony.xwork2.ActionChainResult dispatcher 用来转向页面,通常处理JSP org.apache.str ...

  4. [JavaWeb基础] 018.Struts2 Action通配符使用

    Struts2中有一个很牛逼的action通配符,可以用来简化action配置,以我们将要讲解的案例来说,如果我们要对一个学生信息进行增加,删除,修改,那么按照原来的做法,我们需要写3个Action来 ...

  5. Struts2 action之间相互跳转传递参数

    今天遇到一个问题,在Webwork 2.2里面给一个Action的result传多个参数: 原先配置如下 <action name="blahblahAction" clas ...

  6. 详解Struts2 Action名称的搜索顺序

    1.获得请求路径的URL,例如URL为:    http://127.0.0.1:8080/struts2/test/path1/path2/path3/test.action 2.首先寻找names ...

  7. Struts2 action的单例与多例

    http://tydldd.iteye.com/blog/1821944 struts 2的Action是多实例的并非单例,也就是每次请求产生一个Action的对象.原因是:struts 2的Acti ...

  8. struts2 Action 通过Spring管理, 并通过Spring的方式读取配置文件

    2019独角兽企业重金招聘Python工程师标准>>> 是这样的项目用的是Struts2 和Spring.我想在action层中测试下配置文件读取是否正常,Spring 版本有点低是 ...

  9. struts2 Action获取表单数据

    1.通过属性驱动式 1.首先设置 表单中的数据的name值 如:<input type="text" name="username" value=&quo ...

最新文章

  1. 一起谈.NET技术,VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(下)...
  2. php 查询方法all,获取多条:all静态方法
  3. unity socket传输图片_python3实现socket传输图片
  4. 麻雀优化算法_多种智能优化算法应用案例分享-附代码
  5. 计算机网络基础-目录
  6. sqlserver的存储过程
  7. SQL Server 2008支持将数据导出为脚本
  8. 计算机设计大赛材料准备讲解
  9. Python列表解析式
  10. win7无法自动获取dns服务器地址,Windows7系统DNS服务器故障怎么解决?
  11. WEP(有线等效保密)
  12. Encoder-Decoder
  13. Eth-Trunk负载分担不均怎么办,如何通过Hash算法实现负载分担?
  14. 【水果识别】形态学水果识别(含识别率)【含GUI Matlab源码 907期】
  15. NAT模式/路由模式/全路由模式
  16. Linux环境安装unzip
  17. 2021高考成绩已出城市查询,查分时间已公布!高考结束后别急着浪,这些填志愿技巧考生需知晓...
  18. 中国互联网量级分化严重:小米将360踢出第二阵营
  19. 高数等价无穷小替换公式
  20. 【TUTU SAP】SAP FICO 财务入门第一步-创建公司和公司代码

热门文章

  1. Jenkins执行脚本,提示“sudo: no tty present and no askpass program specified”解决方法
  2. mac mtu测试_一个关于MTU的现象,请兄弟们看看是不是确实是这样。 - 网络管理论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  3. php一点通,编程一点通app-编程一点通官方版下载v1.0.1-七度网
  4. java 原子量_Java線程:新特征-原子量
  5. Kali Linux安装VMware Tools
  6. NTFS的交换数据流ADS应用
  7. python 条件语句漫画解析_【Python】解析Python中的条件语句和循环语句
  8. ps光效插件_全套光效PS插件(2019),只有你想不到的,没有它做不到的PS特效...
  9. stm32定时器中断_stm32F4之定时器的基本使用
  10. UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f349' in position 64: illegal multibyt