📅  最后修改于: 2021-01-11 06:20:02             🧑  作者: Mango
如果准备拦截器实现了Preparable interface ,则对操作调用prepre()方法。它在execute()方法之前调用prepare()方法。
要使用prepare拦截器,您需要在操作类中实现Preparable接口,并覆盖其方法prepare。
默认情况下,它位于默认堆栈中。因此,您无需明确指定它。
仅准备拦截器定义了1个参数。
Parameter | Description |
---|---|
alwaysInvokePrepare | It is set to true bydefault. |
login-success.jsp
动作类必须实现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";
}
}
您可以在控制台上看到输出,准备逻辑在实际逻辑之前打印。
现在,从struts.xml文件中删除准备拦截器的条目,准备逻辑将不会打印。