码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2监听Action结果的监听器

时间:2014-11-30 13:52:26      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   使用   sp   for   on   

作者:禅楼望月

前面我们学到了在特定的Action中配置结果监听器,在Action完成控制处理之后,struts2转入实际的物理视图之前被回调。但是这种方式的缺点是,结果的监听器不能被复用。根据设计模式的里面,哪里变化就封装哪里,那么我们就将这个监听器封装起来。封装到哪里呢?由于在struts2中我们可以在任何需要的Action中配置拦截器,这样我们便可以将监听器封装到一个拦截器中,哪里需要,只需要配置一下即可。

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.interceptor.PreResultListener;

public class BeforeResultInterceptor extends AbstractInterceptor {
    private static final long serialVersionUID = 8804592842717460916L;

    @Override
    public String intercept(ActionInvocation inoInvocation) throws Exception {
        inoInvocation.addPreResultListener(new PreResultListener() {
            
            @Override
            public void beforeResult(ActionInvocation invocation, String resultCode) {
                System.out.println("返回的逻辑视图为:"+resultCode);
                
            }
        });
        return "success";
    }
}

上面代码将一个拦截器注册进一个拦截器中,使用的时候只需要将这个拦截器配置给Action即可。配置和配置普通的拦截器一样。

注意:在监听器的beforeResult(ActionInvocation invocation, String resultCode)方法中也有一个ActionInvocation,但是在这里千万不要调用该参数的invoke()方法。否则会死循环下去。

欢迎转载,请注明出处

Struts2监听Action结果的监听器

标签:style   blog   http   io   color   使用   sp   for   on   

原文地址:http://www.cnblogs.com/yaoyinglong/p/Struts2监听Action结果的监听器.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!