动作执行后是否有struts2接口
可准备是在执行动作之前,我们在执行动作之后有什么吗?
不,没有。(我也不知道你为什么想要这样的东西。)
最简单的选择:
我不确定,你的情况是什么,但我认为这可能是你正在寻找的:执行和等待拦截器
有PreResultListener接口。从一个动作中实现它并不是最漂亮的。
出于您的目的使用此接口的示例可能是创建一个抽象支持类,例如:
public abstract class PreResultSupport extends ActionSupport implements PreResultListener {
protected abstract String doExecute();
@Override
public String execute() {
ActionContext.getContext().getActionInvocation().addPreResultListener(this);
return doExecute();
}
}
然后,对于您想要做一些“后期准备”的操作,您可以扩展这个支持类:
public class ExampleAction extends PreResultSupport {
private String instanceField;
@Override
protected String doExecute() {
//your action code here
return SUCCESS;
}
@Override
public void beforeResult(ActionInvocation invocation, String resultCode) {
//your "post-prepare" or "view-prepare" code here
//this is threadsafe as well, so you can still reference class fields:
this.instanceField = "blahblahblah";
}
}