ActionContext为Struts提供数据环境,维护着一个Map结构,ActionContext中封装了servlet对象,从而将Action与Servlet解耦 (即Action无需依赖任何Servlet API). ActionContext是一个只在当前线程中可用的对象,即它存储在 ThreadLocal中,它用来存放一些同当前的action密切相关的信息。使用它可以在所有服务于当前请求的对象之间共享信息。在interceptor,action,及result中均可访问该对象。
ActionContext 就是应用上下文,可以通过他来访问session对象等,可以保存的数据,在这个应用中都可以访问该数据。通常用于还回一个session对象。
ValueStack中的每一个元素都是根对象,Action位于ValueStack的最顶层.ValueStack 是OGNL表达式语言中的值栈,用来封装继承了action接口的类的属性值,在同一个请求范围类有效,在页面中直接通过表达式${属性名}就可以取出。