Struts2学习之使用PreResultListener

PreResultListener是什么?

PreResultListener
是一个监听器接口,它可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调。

Struts2应用可由Action、拦截器添加 PreResultListener
监听器,添加 PreResultListener
监听器通过 ActionInvocation
addPreResultListener()
方法完成。一旦为Action添加了 PreResultListener
监听器,该监听器就可以在应用转入实际物理视图之前回调该监听器的 beforeResult()
方法;一旦为拦截器添加了 PreResultListener
监听器,该监听器会对该拦截器所拦截的所有Action都起作用。

下面就通过一个简单的例子来说明如何在Action中添加 PreResultListener

代码示例

我们将 execute
方法修改为以下这样:

public String execute() throws Exception
{
    ActionInvocation invocation = ActionContext.getContext().getActionInvocation();
    invocation.addPreResultListener(new PreResultListener()
    {
        public void beforeResult(ActionInvocation invocation, String resultCode)
        {
            System.out.println("返回的逻辑视图名字为:" + resultCode);

            // 在返回Result之前加入一个额外的数据
            invocation.getInvocationContext().put("extra", new Date() + "由" + resultCode + "逻辑视图名转入");
        }
    });
    return SUCCESS;
}

成功运行Demo程序以后,会在控制台和网页上输出对应的信息。

总结

这只是一个很小的知识点,在于提醒自己有的时候这些小的知识点也是解决关键问题的所在。请一定要记住,存在着这么一个小的知识点。

果冻想,认真玩技术的地方。

2016年2月21日 于呼和浩特。

原文 

https://www.jellythink.com/archives/287

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Struts2学习之使用PreResultListener

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址