1、ValueStack贯穿整个 Action 的生命周期,保存在request域中,所以ValueStack和request的生命周期一样。当Struts2接受一个请求时,会迅速创建ActionContext, 
ValueStack,action。然后把action存放进ValueStack,所以action的实例变量可以被OGNL访问。 请求来的时候,action、ValueStack的生命开始,请求结束,action、    ValueStack的生命结束; 
2、action是多例的,和Servlet不一样,Servelt是单例的; 
3、每个action的都有一个对应的值栈,值栈存放的数据类型是该action的实例,以及该action中的实例变量,Action对象默认保存在栈顶; 
4、ValueStack本质上就是一个ArrayList; 
5、关于ContextMap,Struts 会把下面这些映射压入 ContextMap 中: 
parameters  :   该 Map 中包含当前请求的请求参数 
request     :   该 Map 中包含当前 request 对象中的所有属性  session :该 Map 中包含当前 session 对象中的所有属性 
application :该 Map 中包含当前 application 对象中的所有属性 
attr:该 Map 按如下顺序来检索某个属性: request, session, application          
6、使用OGNL访问值栈的内容时,不需要#号,而访问request、session、application、attr时,需要加#号; 
7、注意: Struts2中,OGNL表达式需要配合Struts标签才可以使用。如:<s:property value="name"/> 
8、在struts2配置文件中引用ognl表达式 ,引用值栈的值 ,此时使用的"$",而不是#或者%;

最新文章

  1. iOS 创建一个可以点击并拖拽的Button
  2. 为什么Java中字符串是不可变的
  3. Xcode开发技巧之Code Snippets Library
  4. Ant执行Jmeter工程模版
  5. vs2013 visual studio 插件安装
  6. Android实现SQLite数据库联系人列表
  7. 【HDOJ】3329 The Flood
  8. 修改mysql数据存储的地址
  9. vue项目,axios请求图片接口,接口返回的是文件流的形式,如何转换成图片?
  10. elasticsearch简单操作
  11. 第一讲 新手如何学习HTTP协议之实践项目多开微信机器人
  12. Linux下如何查看系统启动时间和运行时间以及安装时间
  13. Vue -- 基础语法和使用
  14. http请求参数中文乱码的问题
  15. 这次聊聊Promise对象
  16. asp.net mvc url应用
  17. k8s oomkilled超出容器的内存限制
  18. 如何改变git的默认路径
  19. FREETEXTBOX
  20. Sdn - 基础题试水

热门文章

  1. C#接口的实现和继承实践
  2. prism Callback应用
  3. Spring MVC静态资源处理——&lt;mvc:resources /&gt; ||&lt;mvc:default-servlet-handler /&gt;
  4. Linux_NFS/Samba服务器
  5. 阶段3 1.Mybatis_11.Mybatis的缓存_7 触发清空一级缓存的情况
  6. HTML5——拖放 地理定位 视频 音频 新的input类型
  7. jmeter链接数据库操作
  8. is_selected()检查是否选中该元素
  9. 20191127 Spring Boot官方文档学习(4.18-4.24)
  10. tomcat启动失败的三种方法