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日 于呼和浩特。