Struts2之ValueStack、ActionContext】的更多相关文章

一.值栈(ValueStack) 1.实现类:OGNLValueStack 2.对象栈:CompoundRoot(针对的是类级别的) (1)继承自 ArrayList —— 先进后出 (2)提供了栈的几个操作:peek() 返回栈顶对象,pop() 弹出栈顶对象,push() 将对象压入栈顶 (3)默认情况下,会将当前 Action 对象压入栈顶.通过这个 Action 对象,可以访问到该 Action 的所有属性以及错误信息. (4)获取方式 可以通过 ValueStack 对象的 getRo…
一.ValueStack     1 .ValueStack是一个接口,在struts2中使用OGNL(Object-Graph Navigation Language)表达式实际上是使用          实现了ValueStack接口的类OgnlValueStack.它是ValueStack的默认实现类.       2 .ValueStack贯穿整个action的生命周期,每一个action实例都拥有一个ValueStack对象,其中保存了当前action对象和其他相关对象. 3.stru…
今天刚学习了struts2的valueStack,在这里把自己学到的做个分享,说道valueStack就不得不提OGNL表达式=== struts2工作流程 1.OGNL(Object Graph Navigation Language)对象导航图语言 Struts2框架使用OGNL作为默认的表达式语言,OGNL(Object Graph Navigation Language),是一种表达式语言,目的是为了在不能写Java代码的地方执行java代码:主要作用是用来存数据和取数据的. 2 val…
http://blog.csdn.net/tjujacob/article/details/8117659 —————————————————————————————————————————————————————————— 一."#"的用法     1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext():下表有几个ActionContext中有用的属性:           parameters  包含当前HTTP请求参数的Map…
[ValueStack和ActionContext的关系] 首先,从结构上来看ValueStack是ActionContext的一个组成部分,是对ActionContext功能的扩展.ActionContext是一个容器结构,是Struts2中用于数据存储的的场所,而ValueStack则是一个具备表达式引擎能力的数据结构,提供了一个可以进行表达式引擎的计算场所.Struts2将ValueStack置于ActionContext目的是为静态的数据添加动态的计算能力.以下也是ValueStack和…
ValueStack&ActionContext(非常重点:值栈) 1.针对用户的每次动作访问,都会创建属于自己的ValueStack对象 2.ValueStack中的的常用方法:功能一定要知道干什么的.实现类OgnlValueStack getContext():返回的是一个Map<String,Object> *getRoot():返回的是一个CompoundRoot. CompoundRoot就是一个ArrayList的子类(就是一个List).实现了一个栈结构 Compound…
今天在看Action获取Resquest.Response时,发现了一个词:值栈.于是今天一天都在看,了解了值栈不仅能知道Action怎么获取request.response等这些,还会了解OGNL语言的工作原理.在网上找了下,有一个帖子总结的挺好,所以先提前声明一下,我这篇主要参考是:https://my.oschina.net/u/1425737/blog/197939. 一.ActionContext ActionContext是Action的上下文,Struts2自动在其中保存了一些在A…
一,首先给出三者的定义 1.valueStack: 里面存放的是Action类中通过set方法设置的属性值(表单传过来的值等),由OGNL框架实现; 2.stackContext: 也是用来存值的,stack上下文,它包含一些列对象,包括request/session/attr/application map等.  3.actionContext: 是action的上下文,可以得到request,session,application等. 我们在JSP页面中访问value stack的内容时,是…
变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入 ActionContext类 静态方法ActionContext. getContext() 一次Http请求 使用“#”加上key,如“#name” 无法注入 ValueStack类 ActionContext. getValueStack() 一次Http请求 直接填写来访问栈中对象的方法,或者使用top来直接获得栈中对象 无法注入 HttpServletReq…
什么是ActionContext? ActionContext是Map结构的容器,ActionContext是Action的上下文,类比ServletContext,存放着Action执行过程中的数据信息,比如Action的数据,request的数据,session的s数据,applicaton的数据等.每次请求时会为当前线程创建一个新的ActionContext对象.通过ThreadLocal来维护当前线程的request等数据,所以ActionContext是线程安全的. 获取ActionC…