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

  • 相关阅读:
    关于DotNETStruts
    SQL语句导入导出大全
    一个打印Dataset的.net的打印类
    遍历指定文件夹下所有的文件
    SQL Server SQL导入导出语句
    查看OCX的属性和方法的脚本
    关于写文本文件的问题
    新钶信息系统面试
    【POJ1208】The Blocks Problem
    【POJ1363】Rails
  • 原文地址:https://www.cnblogs.com/ainiaiwo/p/5942772.html
Copyright © 2011-2022 走看看