现在的位置: 首页 > 综合 > 正文

Strut2学习之PreResultListener接口

2013年01月03日 ⁄ 综合 ⁄ 共 922字 ⁄ 字号 评论关闭

首先来看一下PreResultListener接口的定义:

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

什么意思呢?  也就是说action转入实际的物理视图之前会调用该接口的beforeResult()方法,

我们来看一下Strut2文档对PreResultListener接口的两个例子。

可以为拦截器和action都加入这个接口的实现。

下面来个小例子

@Override
	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);
				invocation.getInvocationContext().put("extra", new java.util.Date() + "由" + resultCode + "逻辑视图转入");
			}
		});
		if(this.getUsername().equals("fj") && this.getPassword().equals("fj")) {
			ActionContext.getContext().getSession().put("user", this.getUsername());
			this.setTip("Welcome.., " + this.getUsername() + ",您已经成功登陆");
			return SUCCESS;
		}
		return ERROR;
	}

这个一个action里的execute方法。我们为它加了一个PreResultListener拦截器。 这个拦截器有什么作用了?

记录了用户注册的时间。同时可以插入一些其他的数据。 比如日志数据啊。 ....

抱歉!评论已关闭.