2. 问题二 : 值栈的内部结构 ?
* 值栈由两部分组成
> root -- Struts把动作和相关对象压入 ObjectStack 中--List
> context -- Struts把各种各样的映射关系(些 Map 类型的对象) 压入 ContextMap 中 * Struts会默认把下面这些映射压入ContextMap(context)
* 注意:request代表的是Map集合的key值,value的值其实也是一个Map集合。 > parameters: 该 Map 中包含当前请求的请求参数 ?name=xxx&password=123
> request: 该 Map 中包含当前 request 对象中的所有属性
> session: 该 Map 中包含当前 session 对象中的所有属性
> application:该 Map 中包含当前 application 对象中的所有属性
> attr: 该 Map 按如下顺序来检索某个属性: request, session, application
  值栈一创建里面就有很多值,但是这些值不是我们需要使用的。
* ValueStack中 存在root属性 (CompoundRoot) 、 context 属性 (OgnlContext )
> CompoundRoot 就是ArrayList
> OgnlContext 就是 Map * context 对应Map 引入 root对象
> context中还存在 request、 session、application、 attr、 parameters 对象引用
> OGNL表达式访问值栈中的数据
* 访问root中数据时 不需要 #
* 访问 request、 session、application、 attr、 parameters 对象数据 必须写 # > 操作值栈 默认指 操作 root 元素

struts框架值栈问题二之值栈的内部结构的更多相关文章

  1. struts框架问题四之获取到值栈的对象

    4. 问题四 : 如何获得值栈对象 * 获得值栈对象 有三种方法 * ValueStack vs1 = (ValueStack) ServletActionContext.getRequest().g ...

  2. Struts框架笔记03_OGNL表达式与值栈

    目录 1. OGNL 1.1 OGNL概述 1.1 什么是OGNL 1.1.2 OGNL的优势 1.1.2 OGNL使用的要素 1.2 OGNL的Java环境入门[了解] 1.2.1 访问对象的方法 ...

  3. struts框架问题六之从值栈中获取值

    6. 问题六: 在JSP中获取值栈的数据 * 总结几个小问题: > 访问root中数据 不需要# > 访问context其它对象数据 加 # > 如果向root中存入对象的话,优先使 ...

  4. C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

    前言 之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处. 本文的重点就是:值类型直接存储其值,引 ...

  5. 【译】.NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱

    为何要翻译 一来是为了感受国外优秀技术社区知名博主的高质量文章,二来是为了复习对.NET技术的基础拾遗达到温故知新的效果,最后也是为了锻炼一下自己的英文读写能力.因为是首次翻译英文文章(哎,原谅我这个 ...

  6. .NET中六个重要的概念:栈、堆、值类型、引用类型、装箱和拆箱 (转)

    作者: Edison Chou  来源: 博客园  发布时间: 2014-09-03 15:59  阅读: 318 次  推荐: 2   原文链接   [收藏]   原文作者:Shivprasad k ...

  7. .NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱

    为何要翻译 一来是为了感受国外优秀技术社区知名博主的高质量文章,二来是为了复习对.NET技术的基础拾遗达到温故知新的效果,最后也是为了锻炼一下自己的英文读写能力.因为是首次翻译英文文章(哎,原谅我这个 ...

  8. .NET六大剑客:栈、堆、值类型、引用类型、装箱和拆箱

    .NET六大剑客:栈.堆.值类型.引用类型.装箱和拆箱 一.“堆”,“栈”专区 这两个字我相信大家太熟悉了,甚至于米饭是什么?不知道...“堆”,“栈”是什么?哦,这个知道... 之前我也写过一篇堆栈 ...

  9. 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#]

    原文地址:http://www.cnblogs.com/xy8.cn/articles/1227228.html 一.栈和托管堆      通用类型系统(CTS)区分两种基本类型:值类型和引用类型.它 ...

随机推荐

  1. javascript面向对象之Object.defineProperty(a,b,c)

    /* Object.defineProperty(a,b,c);介绍 a:需要属性设置的对象 b:需要设置的属性名,(键值) c:是一个用于描述属性值得json数据.这个json数据有configur ...

  2. Solr SchemaXml 一些解读

    The schema.xml file contains all of the details about which fields your documents can contain, and h ...

  3. 配置WDS支持使用UEFI模式启动

    使用WDS通过Legacy+MBR方式部署操作系统不难,网上文章也有很多,本文就不赘述了,主要记录一下通过UEFI+GPT方式部署. 网上文章虽然也有介绍通过UEFI+GPT方式部署,但大多数说的比较 ...

  4. MOCK 基本使用例子

    package com.icil.esolution.orders; import static org.springframework.test.web.servlet.request.MockMv ...

  5. can't load package the specified module could not be found

    can't load package the specified module could not be found 用 Dependency Walker 2.2Dependency Walker ...

  6. eclipse包层级显示和工作空间显示

    本文两件事:设置包层级显示.设置工程的工作空间显示 一.各package包分层显示 平铺显示,实在不方便开发!也不方便查看工程包的层级结构,如下: 更换成层级显示: 二.工作空间显示 包用来区分类,工 ...

  7. SpringMVC post和get乱码解决方式

    如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: <filter>     <filter-name>CharacterEncodingFil ...

  8. mongodb基础学习6-用户管理

    下面来说一下用户管理,前面对mongodb进行操作都无需用户名密码进行登陆,可以设置用户进行数据库的访问 添加用户:三个参数:用户名,密码,是否只读 开启权限验证 进行验证 修改密码 删除用户 用户角 ...

  9. linux多路径配置

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...

  10. unity VideoPlayer

    Events(事件) started:在调用play()后立刻调用 prepareCompleted:播放器准备完成时 seekCompleted:缓冲完成时