Struts2中ValueStack结构和总结】的更多相关文章

[ValueStack和ActionContext的关系] 首先,从结构上来看ValueStack是ActionContext的一个组成部分,是对ActionContext功能的扩展.ActionContext是一个容器结构,是Struts2中用于数据存储的的场所,而ValueStack则是一个具备表达式引擎能力的数据结构,提供了一个可以进行表达式引擎的计算场所.Struts2将ValueStack置于ActionContext目的是为静态的数据添加动态的计算能力.以下也是ValueStack和…
一,首先给出三者的定义 1.valueStack: 里面存放的是Action类中通过set方法设置的属性值(表单传过来的值等),由OGNL框架实现; 2.stackContext: 也是用来存值的,stack上下文,它包含一些列对象,包括request/session/attr/application map等.  3.actionContext: 是action的上下文,可以得到request,session,application等. 我们在JSP页面中访问value stack的内容时,是…
1.什么是ValueStack 对于每一个action的调用,Struts在执行相应的动作方法之前会先创建一个名为ValueStack的对象.Value Stack用来保存该动作对象或者对象.由于最终在执行Action类相应的action方法之前,拦截器需要先访问ValueStack.视图也需要访问ValueStack.Struts框架将其保存在一个名为struts.valueStack的请求属性中. 2.获取valueStack的三种方法: ValueStack v1 = ActionCont…
变量 从ActionContext中获得 生命周期 用Ongl来读取值 使用ServletConfigInterceptor来注入 ActionContext类 静态方法ActionContext. getContext() 一次Http请求 使用“#”加上key,如“#name” 无法注入 ValueStack类 ActionContext. getValueStack() 一次Http请求 直接填写来访问栈中对象的方法,或者使用top来直接获得栈中对象 无法注入 HttpServletReq…
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中…
1,Struts2框架主要组件的处理流程 在说ValueStack之前,笔者先说一说Struts2中常用的组件,struts2中常用组件有strutsPrepareAndExecuteExceptionn,以及一般执行流程: 请求来进入 Filter 控制器 Filter 控制器创建 ValueStack 对象并初始化 Filter 控制器根据 struts.xml 调用 defaultStack 拦截器栈 Filter 控制器根据 struts.xml 调用 Action 处理 Filter…
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post"name="form1"> 用户名:<s:textfieldname="username"/><br/> 密 码:<s:passwordname="password"/><br/>…
要了解Struts2与OGNL表达式的关系,我们必须先搞清楚以下三个概念: 1.  ActionContext它是Action运行的上下文环境,Action的多项设置都存放在次,我们每一次Action调用都会创建一个ActionContext.通常情况下我们可以通过静态方法getContext()来获得Action上下文,进而进行其它操作,比如说可以得到request.session.application. 2.  ValueStack此对象主要是由OGNL框架实现,具体的实现类是com.op…
一.ValueStack     1 .ValueStack是一个接口,在struts2中使用OGNL(Object-Graph Navigation Language)表达式实际上是使用          实现了ValueStack接口的类OgnlValueStack.它是ValueStack的默认实现类.       2 .ValueStack贯穿整个action的生命周期,每一个action实例都拥有一个ValueStack对象,其中保存了当前action对象和其他相关对象. 3.stru…
一 什么是值栈 值栈: struts2中提供的一种类似于域对象的工具, 用于struts2中的存值和取值. 每次访问Action的时候, 都会创建一个action对象, 而每个action对象中都存在一个值栈对象 值栈对象的声明周期与Action的生命周期(第一次访问action的时候被创建, 当action中方法返回值时被销毁)一致. 二 Action中值栈对象的获取方法 每个action只对应一个值栈对象. 值栈对象可以通过ActionContext对象中的方法获取. ActionConte…