zoukankan      html  css  js  c++  java
  • Struts2中OGNL

    什么是OGNL

    OGNL:Object Graph Navigation Language  对象导航图语言

    开源项目,取代页面中Java脚本,简化数据访问

    和EL同属于表达式语言,但功能更为强大

    让我们通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。

    OGNL融入框架流程


    Ognl表达式

    1.#号用法
      1.  访问OGNL上下文和action上下文,#相当于ActionContext.getContext();
      2. 如果访问的是map中的值而不是对象栈中的值,由于map中的数据不是根对象,所以在访问时需要添加#前缀。

    名称

    作用

    例子

    parameters

    包含当前HTTP请求的Map

    #parameters.id[0]=request.getParameter(“id”)

    request

    包含当前HttpServletRequest属性的Map

    #request.username=request.getAttribute(“username”);

    session

    包含当前HttpSession属性的Map

    #session.username=session.getAttribute(“username”);

    application

    包含当前ServletContext属性的Map

    #application.username=application.getAttribute(“username”);

    attr

    用于按照request>session>application顺序访问其属性

    #attr.username相当于按照顺序在以上三个范围内读取username的属性,直到找到为止。


    值栈与OGNL

    值栈(ValueStack)

    由Struts 2框架创建的存储区域,具有栈的特点Action的实例会被存放到值栈中

    OGNL访问值栈按照从上到下的顺序,靠近栈顶的同名属性会被读取

  • 相关阅读:
    学习笔记之Linux开发(C语言)
    Shell脚本文件操作
    学习笔记之Shell脚本的输出重定向
    学习笔记之正则表达式 (Regular Expressions)
    学习笔记之#pragma
    eclipse启动不了报错java was started but returned exit code=13
    学习笔记之APACHE ANT
    学习笔记之Linux / Shell
    学习笔记之DB2 9 Fundamentals 730
    windows远程关机重启
  • 原文地址:https://www.cnblogs.com/ainiaiwo/p/5942772.html
Copyright © 2011-2022 走看看