一,首先给出三者的定义 1.valueStack: 里面存放的是Action类中通过set方法设置的属性值(表单传过来的值等),由OGNL框架实现; 2.stackContext: 也是用来存值的,stack上下文,它包含一些列对象,包括request/session/attr/application map等.  3.actionContext: 是action的上下文,可以得到request,session,application等. 我们在JSP页面中访问value stack的内容时,是…
[ValueStack和ActionContext的关系] 首先,从结构上来看ValueStack是ActionContext的一个组成部分,是对ActionContext功能的扩展.ActionContext是一个容器结构,是Struts2中用于数据存储的的场所,而ValueStack则是一个具备表达式引擎能力的数据结构,提供了一个可以进行表达式引擎的计算场所.Struts2将ValueStack置于ActionContext目的是为静态的数据添加动态的计算能力.以下也是ValueStack和…
变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入 ActionContext类 静态方法ActionContext. getContext() 一次Http请求 使用“#”加上key,如“#name” 无法注入 ValueStack类 ActionContext. getValueStack() 一次Http请求 直接填写来访问栈中对象的方法,或者使用top来直接获得栈中对象 无法注入 HttpServletReq…
1.什么是ValueStack 对于每一个action的调用,Struts在执行相应的动作方法之前会先创建一个名为ValueStack的对象.Value Stack用来保存该动作对象或者对象.由于最终在执行Action类相应的action方法之前,拦截器需要先访问ValueStack.视图也需要访问ValueStack.Struts框架将其保存在一个名为struts.valueStack的请求属性中. 2.获取valueStack的三种方法: ValueStack v1 = ActionCont…
1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个Action.多个拦截器.多个拦截器引用的集合. 在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置.它的常用属性有: l name:必填属性,用来指定包的名字. l extends:可选属性,用来指定该包继承…
Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts2中提供了一个ActionContext类,Struts2的Action可以通过该类来访问Servlet API. ActionContext类中包含的几个常用方法: Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(Str…
者之间的关系如下图所示: relation ActionContext 一次Action调用都会创建一个ActionContext 调用:ActionContext context = ActionContext.getContext() ValueStack 由OGNL框架实现 可以把它简单的看作一个List Stack Object:放入stack中的对象,一般是action. Stack Context(map):stack上下文,它包含一些列对象,包括request/session/at…
三者之间的关系如下图所示: ActionContext  一次Action调用都会创建一个ActionContext  调用:ActionContext context = ActionContext.getContext() ValueStack 由OGNL框架实现  可以把它简单的看作一个List Stack Object:放入stack中的对象,一般是action. Stack Context(map):stack上下文,它包含一些列对象,包括request/session/attr/ap…
  2013-03-15 10:54 1722人阅读 评论(1) 收藏 举报  分类: J2EE 版权声明:本文为博主原创文章,未经博主允许不得转载. 三者之间的关系如下图所示: ActionContext 一次Action调用都会创建一个ActionContext 调用:ActionContext context = ActionContext.getContext() ValueStack 由OGNL框架实现 可以把它简单的看作一个List  Stack Object:放入stack中的对象…
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中…