STRUTS2的源码分析

今天,好不容易把struts2的一个源码片段弄清楚了点,现在说说,让别人的类似疑惑暂定。

ok,我在2.2.1的版本看到

 

 

           // if the ActionMapping says to go straight to a result, do it!
            if (mapping.getResult() != null) {
                Result result = mapping.getResult();
                result.execute(proxy.getInvocation());
            } else {
                proxy.execute();
           
            }

 

在大部分想都是走ELSE路线,但是mapping.getResult() != null 是什么时候才能出现呢?在网上GOOGLE

 

" if the ActionMapping says to go straight to a result, do it!" 最后通常是找不到问题的原因的。

 

今天我发现问题的答案在 DefaultActionMapper 这个类的注释里面。

 

也就是当BUTTON的请求是

    <s:submit name="redirect:http://www.google.com.hk" value="Cancel"/>
   
    <s:submit name="redirectAction:list" value="Cancel122"/>

这样以

 

    protected static final String REDIRECT_PREFIX = "redirect:";

    protected static final String REDIRECT_ACTION_PREFIX = "redirectAction:";

 

redirect: 或者redirectAction:开头的button是走mapping.getResult() != null 路线的。

 

 如果有其他情况,请看客们说说,谢谢!

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值