1.问题一 : 什么是值栈 ValueStack        回顾web阶段 数据交互问题?        客户端提交数据  到  服务器端    request接受数据+BeanUtils实体封装        服务器端数据 在页面上显示        在服务器端将数据存储到request域中  页面中通过el+jstl完成数据展示            struts2阶段,数据交互问题?        客户端提交数据  到  服务器端    属性驱动和模型驱动        服务器端数据…
目录: 一.值栈 二.OGNL表达式 一.值栈(ValueStack) 1.定义      ValueStack贯穿整个Acton的生命周期,每个Action类的对象实例都拥有一个ValueStack对象,相当于一个数据中转站,在其保存当前的Action对象和其他对象.   2.结构      在ValueStack对象内部有两个逻辑部分.       ObjectStack:  root属性,是一个ArrayList,包含Action对象和其他对象.       ContextMap:  co…
仅仅是学习记录.把我知道的都说出来 一.值栈的作用 记录处理当前请求的action的数据. 二,小样例 有两个action:Action1和Action2 Action1有两个属性:name和passwd Action2有两个属性:name2和passwd2 请求从Action1进入.chain方法导向Action2 Struts.xml配置信息: <? xml version="1.0" encoding="UTF-8"? > <!DOCTYPE…
1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 |  值名],例如: @java.lang.S…
ValueStack:struts2的一个存放数据的数据结构(核心) ValueStack大致能够理解为:由Map和对象栈组成 ValueStack作用范围:一个请求,用它来取代request的作用域. 当来了一个请求时,便创建出一个ValueStack,并进行一些初始化. 往Map中放:request=...,session=...,application=...,attr=...,parameters=....等等 往对象栈中放:action和还有一个默认对象 拦截器:ModelDriven…
值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获取自己须要的数据就能够了. 2.值栈能干什么? 简单说:就是可以线程安全的为每个请求提供公共的数据式服务. 3.值栈包括Map栈和对象栈,值栈通过ActionContext的getValueStack()方法来获取值栈,可是在通常情况下,向valuestack中压入值都是由Struts2去完毕的.而…
什么是值栈?struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值.,特点:先进后出.如果将它当做一个容器的话,而这个容器有两个元素,那么最上面的元素叫做栈顶元素,也就是所说的压栈. action和servlet区别:每次访问的action的时候,都会创建一个新的action对象,而servlet只会创建一个对象.每次访问action都会创建一个action对象,action对象里面都且只有一个值栈的对象. 我们可以使用 <s:debug></s:debug>…
Struts2的值栈和OGNL牛逼啊 一 值栈简介: 值栈是对应每个请求对象的一套内存数据的封装,Struts2会给每个请求创建一个新的值栈,值栈能够线程安全的为每个请求提供公共的数据存取服务. 二 OGNL介绍: (1)基本数据: OGNL 是对象图导航语言 Object-GraphNavigationLanguage 的缩写,它是一种功能强大的表达式语言. OGNL 访问 ValueStack 数据 <s:propertyvalue=”account”/> OGNL 访问 ActionCo…
1.值栈的介绍 1.1 值栈的介绍: 值栈是对应每一个请求对象的数据存储中心,struts2会给每一个请求对象创建一个值栈,我们大多数情况下不需要考虑值栈在哪里,里面有什么,只需要去获取自己需要的数据就可以了,这样就大大的降低了开发人员的工作量和逻辑复杂性. 1.2 值栈的作用: 值栈能够线程安全的为每一个请求对象提供公共的数据存取服务.它可以统一管理页面和action之间的数据,供action.result.interceptor等使用.值栈和请求时一一对应的,也是唯一对应的,每一个请求有且只…
Struts2部分 1. JavaEE软件三层结构和MVC的区别? JavaEE软件三层机构是由sun公司提供JavaEE开发规范的:Web层(表现层).业务逻辑层.数据持久层.[其中WEB层会使用前端控制器模式]MVC是一种思想,是一种模式,将软件分为 Model模型.View视图.Controller控制器.[JavaEE开发更强调三层结构,web层开发更注重MVC]Struts2 就是web层开发框架,符合MVC模式:struts1 .webwork .jsf .SpringMVC 都是M…