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访问值栈按照从上到下的顺序,靠近栈顶的同名属性会被读取

  • 相关阅读:
    TO DO List
    springboot 热部署
    <dependencyManagement>的作用
    人体工程学座椅
    temp
    temp
    声明式编程和命令式编程的本质区别
    weak first question
    Spring依赖注入方式和依赖来源
    SpringBoot 整合 H2 数据库
  • 原文地址:https://www.cnblogs.com/ainiaiwo/p/5942772.html
Copyright © 2011-2022 走看看