1. 什么是OGNL表达式
    1. Object-Graph Navigation Language的缩写。
    2. 可以遍历整个对象结构图,实现对象类型转换等功能的表达式。
    3. OGNL实际上是个Map集合,有一个上下文根对象。
    4. ActionContext作为OGNL上下文,并把ValueStack作为根对象。
  2. ValueStack
    1. 可以执行,增加,删除,查询。
    2. struts2会把Action放到栈顶。
  3. OGNL中的几个家伙
    1. #
      1. 访问非根对象属性
      2. #session.msg
        相当于 ActionContext.getContext().getSession().getAttribute("msg");
    2. %
      1. 字符串类型时,计算OGNL表达式
    3. $
      1. 在国际化资源文件中,引用OGNL表达式
      2. 在Struts 2框架的配置文件中引用OGNL表达式
    4. @
      1. 访问静态方法
    5. 常用标签
      1. 流程控制标签
      2.  <s:if test="{}"></s:if>//if表达式
        <s:if test="{}"></s:if><s:else></s:else>//if else 表达式
        <s:ifelse test="{}"></s:ifelse>//Ifelse 表达式
        //test 字符串 要加%{} 判断集合元素的符号 in,not in
        //in 判断集合是否在当前集合内,not in 判断集合是否不在当前集合内. OGNL过滤表达式
        ?://获取所有符合的元素
        ^://获取第一个符合的元素
        $://获取最后一个符合的元素 <s:iterator value=""></s:iterator>
        //对一个集合进行迭代
        //id 集合内元素的ID
        //status 指定迭代对象名称
        <s:iterator value="books.{?#this.price > 35}">
        //?#this.price > 35 this 指取当前集合内的属性值符合条件的元素。
        <s:property value="title" /> - $<s:property value="price" />
        </s:iterator>
      3. 通用标签
      4.  <s:property value="">
        //default 获取属性值.
        //scope 指定命名空间.
        //value 属性名
        //id 元素标识 <s:set scope="" name="" value="">
        //设置属性值 value 如果是字符串需要加'',否则会当成变量.
        //scope 可以是application、session、request、 page或action. <s:action id="" name="" namespace="" executeResult="false|true" ignoreContextParams="false|true"/>
        //action 引用名称 namespace 命名空间 executeResult 是否返回视图 ignoreContextParams 是否传递参数 <s:bean id="" name="">
        // id 引用名称 带id 标签结束不会移除对象 name 实现类全路径
        <s:param name="" value=""/>
        //name 参数名称 value 参数值
        </s:bean> <s:date format="" nice="" name="" id=""/>
        //format 日期输出格式 nice 输出时间差 name 时间值 id 引用名称
      5. 调试标签
      6.  <s:debug/>
        //输出所有的信息valuestack context <s:fielderror/>
        //控制端 调用addFieldErrors(,) <s:actionerror/>
        //获取Action错误消息 需要在控制端调用addActionError 方法 <s:actionmessage/>
        //获取Action消息 需要在控制端调用addActionMessage方法
      7. 表单标签

struts2简单入门-OGNL表达式的更多相关文章

  1. (补充)9.Struts2中的OGNL表达式

    OGNL表达式概述 1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关 ...

  2. 20160502-struts2入门--ognl表达式

    一.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言 ...

  3. struts2学习笔记--OGNL表达式1

    struts2标签库主要使用的是OGNL语言,类似于El表达式,但是强大得多,它是一种操作对象属性的表达式语言,OGNL有自己的优点: 能够访问对象的方法,如list.size(); 能够访问静态属性 ...

  4. struts2框架之OGNL表达式概述(在代码中使用OGNL表达式)

    1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通 ...

  5. Struts2中的OGNL表达式

    一.OGNL表达式简介 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.所谓对象图,即以任意一个对象为根,通过OGNL可以访问 ...

  6. 【java开发系列】—— struts2简单入门示例

    前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了js ...

  7. struts2中使用ognl表达式时各种符号的使用规则$,#,%

    OGNL表达式struts2标签“%,#,$” 一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一 ...

  8. 【基于初学者的SSH】struts2 值栈的详解与struts2标签库+ognl表达式

    一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug& ...

  9. 2018.11.24 struts2中的OGNL表达式及两者的结合

    OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 理解图示 使用OGNL准备工 ...

随机推荐

  1. Putty中的pscp和psftp的简明用法

    用习惯了putty,那是真心的方便啊,putty文件夹下其他的小兄弟也不能忽略啊. 以前的时候,从远程服务器下载个文件用winscp,后来,发现在putty文件夹里好像有一个 pscp和psftp,今 ...

  2. day 16 包的导入

    包的认识 '''包通过文件夹来管理一系列功能相近的模块​包:一系列模块的集合体重点:包中一定有一个专门用来管理包中所有模块的文件包名:存放一系列模块的文件夹名字包名(包对象)存放的是管理模块的那个文件 ...

  3. 利用BeEF REST API自动化控制僵尸主机

    本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...

  4. line-height和height

    1. 行高(line-height).行距.font-size分别是什么. 行高(line-height)是指文本行基线间的垂直距离. 基线(base line)并不是汉字文字的下端沿,而是英文字母“ ...

  5. jenkins的安装部署

    jenkins安装 参考连接: https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions ...

  6. JS 设计模式一 -- 原型模式

    原型模式 概念: 原型模式 是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性. 实现原型模式: 方法一 ...

  7. System.Diagnostics.Process 测试案例

    1.System.Diagnostics.Process 执行exe文件 创建项目,编译成功后,然后把要运行的exe文件拷贝到该项目的运行工作目录下即可,代码如下: using System; usi ...

  8. JS类型

    1.查看类型 可以使用 typeof 操作符来检测变量的数据类型. typeof "John" // 返回 string typeof 3.14 // 返回 number type ...

  9. [原文 + 补充] 当你在浏览器中输入Google.com并且按下回车之后发生了什么?

    原文:https://github.com/alex/what-happens-when/blob/master/README.rst 一个版本的翻译: https://github.com/skyl ...

  10. MySQL安装-windows安装

    windows下安装MySQL 在windows下面安装MySQL 本文以5.7.17为示例 MySQL下载 官网:https://dev.mysql.com/downloads/mysql/ 本次安 ...