zoukankan      html  css  js  c++  java
  • Struts框架之结果页面的跳转

    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方法的访问:

        

     
  • 相关阅读:
    九度OJ 1333:考研海报 (区间操作)
    九度OJ 1326:Waiting in Line(排队) (模拟)
    九度OJ 1325:Battle Over Cities(城市间的战争) (并查集)
    九度OJ 1324:The Best Rank(最优排名) (排序)
    九度OJ 1323:World Cup Betting(世界杯) (基础题)
    九度OJ 1283:第一个只出现一次的字符 (计数)
    九度OJ 1262:Sequence Construction puzzles(I)_构造全递增序列 (DP)
    九度OJ 1261:寻找峰值点 (基础题)
    SDWebImage
    MBProgressHUDDemo
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10104424.html
Copyright © 2011-2022 走看看