struts.xml中的Result标签的type属性

  • result标签里面除了name属性之外,还有一个属性type属性
  • type属性:如何到路径里面(转发还是重定向)
    一般像默认的是转发值是dispatcher
    而做重定向操作值是redirect

struts.xml中的配置

<action name="book" class="cn.zhoushicanyin.Action.BookAction">
                <result name="success" type="dispatcher">/world.jsp</result>
           </action>
           <action name="orders" class="cn.zhoushicanyin.Action.OrdersAction">
               <result name="success" type="redirect">/hello.jsp</result> 
           </action>

BookAction

public class BookAction extends ActionSupport {
         @Override
        public String execute() throws Exception {

            return BookAction.SUCCESS;
        }
}

OrdersAction

public class OrdersAction extends ActionSupport {
        @Override
        public String execute() throws Exception {
            return OrdersAction.SUCCESS;
        }
}

转发

这里写图片描述

重定向

这里写图片描述

  • type属性两个值 dispatcher,readirect 这两个值一般针对到页面中配置
  • 配置到其他的action里面
    • chain:转发到action 一般不同 缓存问题
    • redirectAction:重定向到action

struts.xml中的配置改一下

 <action name="book" class="cn.zhoushicanyin.Action.BookAction">
                <result name="success" type="dispatcher">/world.jsp</result>
           </action>
           <action name="orders" class="cn.zhoushicanyin.Action.OrdersAction">
               <result name="success" type="redirectAction">book</result> //重定向到book中
           </action>

BookAction中为了验证过程在其中写一个打印语句

public class BookAction extends ActionSupport {
         @Override
        public String execute() throws Exception {
            System.out.println("hello book!");
            return BookAction.SUCCESS;
        }
}

OrdersAction也同样

public class OrdersAction extends ActionSupport {
        @Override
        public String execute() throws Exception {
            System.out.println("hello orders!");
            return OrdersAction.SUCCESS;
        }
}

访问的是http://localhost:8080/struts2_day02/orders.action
页面跳转到了world.jsp中

这里写图片描述

控制台也打印出相关的数据

这里写图片描述

所以可以说明这个程序大致运行顺序是访问完orders中的execute 就重定向到book中 访问完book中的execute的方法 就转发到world.jsp中

END!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值