• 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的根对象。



  • 相关阅读:
    USACO3.4.3Electric Fence
    (转)《算法艺术与信息学竞赛》题目 提交方式对照表
    UVA10382 Watering
    SGU104 Little shop of flowers
    UVA10673 Play with Floor and Ceil
    SGU123 The sum
    SGU106 The equation
    SGU105 Div 3
    UVA10905 Children's Game
    SGU101 200分类
  • 原文地址:https://www.cnblogs.com/a1280055207/p/3234104.html
Copyright © 2020-2023  润新知