Struts2中的ValueStack理解

1、目标

重新认识下ValueStack;

2、图解

3、解释下用法

struts2中在页面取值的话;是这样的,root中可以直接取值不用加#

但是在ActionContext中取值则需要加#访问才能取到值;

4、struts2中debug标签所对应的root和ActionContext;

时间: 2024-10-25 05:19:17

Struts2中的ValueStack理解的相关文章

在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等 .

笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中

Struts2中的valuestack

值栈(ValueStack) Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是 OgnlContext),并将值栈设为OGNL的根对象. 我们知道,OGNL上下文中的根对象可以直接访问,不需要使用任何特殊的“标记”, 而引用上下文中的其他对象则需要使用“#”来标记.由于值栈是上下文中的根对 象,因此可以直接访问.那么对于值栈中的对象该如何访问呢?Struts2提供了一 个特殊的OGNLPropertyAccessor,它可以自动查找栈内的所有对象

【Struts2】剖析Struts2中的反射技术 ValueStack(值栈)

1,Struts2框架主要组件的处理流程 在说ValueStack之前,笔者先说一说Struts2中常用的组件,struts2中常用组件有strutsPrepareAndExecuteExceptionn,以及一般执行流程: 请求来进入 Filter 控制器 Filter 控制器创建 ValueStack 对象并初始化 Filter 控制器根据 struts.xml 调用 defaultStack 拦截器栈 Filter 控制器根据 struts.xml 调用 Action 处理 Filter

Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: 1 <form action="login" method="post"name="form1"> 2 3 4 用户名:<s:textfieldname="username"/><br/> 5 密 码:<s:passwordname="password"/>&l

Struts2中ValueStack结构和总结

[ValueStack和ActionContext的关系] 首先,从结构上来看ValueStack是ActionContext的一个组成部分,是对ActionContext功能的扩展.ActionContext是一个容器结构,是Struts2中用于数据存储的的场所,而ValueStack则是一个具备表达式引擎能力的数据结构,提供了一个可以进行表达式引擎的计算场所.Struts2将ValueStack置于ActionContext目的是为静态的数据添加动态的计算能力.以下也是ValueStack和

深入分析JavaWeb 48 -- Struts2中OGNL表达式与ValueStack

一.OGNL表达式 1.OGNL表达式介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 | 值名],例如:@[email protected]('foo %s', '

Struts2中的OGNL详解

首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.

(转) STRUTS2中的OGNL

OGNL表达式是(Object-Graph Navigation Language)是对象图形化导航语言.OGNL是一个开源的项目,struts2中默认使用OGNL表达式语言来显示数据.与serlvet中的el表达式的作用是一样的.OGNL表达式有下面以下特点: 支持对象方法调用,例如:objName.methodName(); 支持类静态的方法调用和值访问,表达式的格式为 @[类全名(包括包路经)] @[方法名 |  值名] 例如: @[email protected]('foo%s','ba

【转】Struts2中的OGNL详解 (1)

 转载声明:菰☆淚 - Struts2中的OGNL详解 首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlCont