zoukankan      html  css  js  c++  java
  • Struts2 ognl#

    “#”主要有三种用途:

    1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:
       名称 作用 例子
      parameters 包含当前HTTP请求参数的Map #parameters.id[0]作用相当于request.getParameter("id")
      request 包含当前HttpServletRequest的属性(attribute)的Map #request.userName相当于request.getAttribute("userName")
      session 包含当前HttpSession的属性(attribute)的Map #session.userName相当于session.getAttribute("userName")
      application 包含当前应用的ServletContext的属性(attribute)的Map #application.userName相当于application.getAttribute("userName")
      attr 用于按request > session > application顺序访问其属性(attribute) #attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止
    2. 用于过滤和投影(projecting)集合,如books.{?#this.price<100}
    3. 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}

    ognl上下文、action上下文、值堆栈、堆栈上下文有没有关系和联系??  

    在Struts 2中,ActionContext就为OGNLContext。+从ognl的标准来说,ognl需要设定一个root对象,而在Struts2中ValueStack就是OGNL的根对象。



  • 相关阅读:
    左式堆
    winsock库
    二叉堆
    关键字explicit
    HDOJ 1012
    HDOJ 1013
    STL priority实例
    二项队列
    ASP.NET Session过期问题揭秘
    RenderControl (asp.net)
  • 原文地址:https://www.cnblogs.com/a1280055207/p/3234104.html
Copyright © 2011-2022 走看看