Struts 2 ActionContex 和 Action Invocation 的区别
ActionContext 是在其中执行操作的对象的容器。存储在 ActionContext 中的值对于每个线程都是唯一的(即 ThreadLocal)。所以我们不需要让我们的动作线程安全。
我们可以通过调用ActionContext类的getContext()方法来获取ActionContext的引用。它是一种静态工厂方法。例如:
ActionContext 上下文 = ActionContext.getContext();
动作调用:--
ActionInvocation 代表一个动作的执行状态。它包含动作和拦截器对象。
struts 框架提供了ActionInvocation 接口来处理ActionInvocation。它提供了很多方法,其中一些可以用来获取ValueStack、ActionProxy、ActionContext、Result等实例。
ActionInvocation 接口的方法
ActionInvocation接口常用的方法如下:
1)public ActionContext getInvocationContext() 返回与 ActionInvocation 关联的 ActionContext 对象。
2)public ActionProxy getProxy() 返回持有此 ActionInvocation 的 ActionProxy 实例。
3)public ValueStack getStack() 返回 ValueStack 的实例。
4)public Action getAction() 返回与此 ActionInvocation 关联的 Action 实例。
5)public void invoke() 在处理此 ActionInvocation 时调用下一个资源。
6)public Result getResult() 返回Result的实例。