猿教程 Logo

Struts2拦截器:prepare拦截器

如果你的Action实现了Preparable接口,则这个拦截器会在你执行真正的execute()方法之前执行prepare()方法。如果你想在真正的execute()方法执行之前加入一些其他逻辑的话,这个拦截器就非常有作用了.假如你的你在struts.xml中声明的访问方法为:method="login"; 而你的Action实现了Preparable方法,且实现了prepare()方法,此外还提供了prepareLogin()方法或者prepareDoLogin()方法.

prepare拦截器的参数

prepare拦截器只定义了一个参数。

参数描述
alwaysInvokePrepare默认设置为true。如果其值为true则调用接口定义的prepare方法。

prepare拦截器的例子

action类

Action类必须实现Preparable接口并覆盖其方法prepare()。

package com.javatpoint;
import com.opensymphony.xwork2.Preparable;
public class LoginAction implements Preparable{
private String name,password;

public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
public void prepare() throws Exception {
	System.out.println("preparation logic");
}

public String execute(){
	System.out.println("actual logic");
	return "success";
}
}

您可以在控制台上看到输出,prepare逻辑在实际逻辑之前打印。

运行结果:


现在从struts.xml文件中删除prepare拦截器的声明,将不会打印prepare逻辑。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Struts/struts-2-prepare-interceptor-example.html