zoukankan      html  css  js  c++  java
  • struts2中根对象以及ognl .

    Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点: 
    1. Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有一个Map对象) 
    2. Struts2中的OGNL表达式语言的根对象是一个ValueStack,ValueStack中的每一个对象都被视为根对象。 
    Struts2框架将实例化的Action对象放入ValueStack中,如果是Action链,则多个Action都存在于ValueStack中。而ValueStack中除了Action外,Struts2框架还将parameters,request,response,session,application,attr等对象放到ActionContext中,访问这些对象需要加前缀#。 

    总结:Struts2中的数据处理基于Xwork的OGNL,它在OGNL的基础上进行了一定的封装。OGNL的核心概念是根对象(root)和上下文环境(context)---你可以传入一个Map对象作为上下文,向其中put进一个对象,那么这个对象可以作为根对象(ognl中可以向函数中传入不同的Map对象作为根对象来操作,也可以指定不同的根对象,而Struts2中,它固定了根对象ValueStack)。在Struts2中,ActionContext作为OGNL的上下文环境,它的根对象是一个ValueStack,ValueStack中的每个对象都被视为根对象。Struts2中的Action作为根对象存在(如果多个Action以chain的形式存在,则多个Action均存在于ValueStack中,均为根对象)。
  • 相关阅读:
    使用Android自定义格式的定义Button
    Java Binary Search
    非常成功的人会做的八件事
    Ubuntu12.04 安装java
    NetBeans 时事通讯(刊号 # 125 Nov 17, 2010)
    NetBeans IDE 7.0 Beta 发布
    关于 IPv6 你需要知道的 10 件事
    开始学习 Go
    开始学习 Go
    Quartz 1.8.4 发布
  • 原文地址:https://www.cnblogs.com/a1280055207/p/3145319.html
Copyright © 2011-2022 走看看