转载

Struts2学习之使用PreResultListener

PreResultListener是什么?

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

Struts2应用可由Action、拦截器添加 PreResultListener 监听器,添加 PreResultListener 监听器通过 ActionInvocationaddPreResultListener() 方法完成。一旦为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
正文到此结束
Loading...