1. 结果页面存在两种方式
    * 全局结果页面(有很多时候我们会跳转到同一页面,所以我们可以配置一个全局结果页面,不管什么情况都会跳转到这个页面)
        > 条件:如果<package>包中的一些action都返回success,并且返回的页面都是同一个JSP页面,这样就可以配置全局的结果页面。
        > 全局结果页面针对的当前的包中的所有的Action,但是如果局部还有结果页面,会优先局部的。使用的标签是
            <global-results>
                <result>/demo3/suc.jsp</result>
            </global-results>
    如果返回的是success,则我们统一跳转到同一页面。在package标签中写如上的global-results标签。这样就不用在action表现中写局部页面跳转了
    * 局部结果页面(我们在action标签中写的result标签,属于局部结果页面跳转)
        <result>/demo3/suc.jsp</result>

2. 结果页面的类型
    * 结果页面使用<result>标签进行配置,包含两个属性
        > name  -- 逻辑视图的名称
        > type  -- 跳转的类型,值一些,需要掌握一些常用的类型。常见的结果类型去struts-default.xml中查找。
            * dispatcher        -- 转发.type的默认值.Action--->JSP
            * redirect          -- 重定向. Action--->JSP(这样request域就无效了)
            * chain             -- 多个action之间跳转.从一个Action转发到另一个Action.  Action---Action
            * redirectAction    -- 多个action之间跳转.从一个Action重定向到另一个Action. Action---Action
            * stream            -- 文件下载时候使用的

  举例说明多个Action之间的跳转:
  书写Demo3Action类,在该类中书写了两个方法,我们演示一下从自己的action中的save跳转到自己action中的del方法:
package com.huida.action;

import com.opensymphony.xwork2.ActionSupport;

public class Demo3Action extends ActionSupport{
//现在想要实现从自己Action中的save跳到自己Action中的del
    //Demo3Action save--->Demo3Action del
    public String save(){
        System.out.println("save");
        return SUCCESS;
    }
    public String del(){
        System.out.println("delete");
        return SUCCESS;
    }
}

    对action进行配置:

<struts>
    
    <package name="default" namespace="/" extends="struts-default">
    
        <action name="demo3Action_*" class="com.huida.action.Demo3Action" method="{1}"><!-- 通配符的方式 -->
           <result name="success" type="redirectAction">/demo3Action_del</result><!-- 从demo1Action中跳转到suc.jsp页面,默认的方式为请求转发的方式。如果在result标签中设定转发类型为重定向redirect,那么在request域中就不能通过put获取到值 -->
        </action>
    </package>

</struts>

    使用通配符的方式进行函数的访问。启动浏览器,在搜索栏中输入:http://localhost:8080/struts2_day02/demo3Action_save进行访问,访问结束后会跳转到 demo3Action中的del方法中。在控制台会输出如下,表示对save和del方法的访问:

    

 

 

 
posted on 2018-12-11 19:18  wyhluckydog  阅读(652)  评论(0编辑  收藏  举报