对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression Language)

OGNL表达式

OGNL 常用表达式
e1 or e2
e1 and e2
e1 == e2, e1 eq e2
e1 != e2, e1 neq e2
e1 < e2, e1 lt e2
e1 <= e2, e1 lte e2
e1 > e2, e1 gt e2
e1 >= e2, e1 gte e2
e1 in e2
e1 not in e2
! e, not e,e instanceof class
e.method(args)调用对象方法
e.property调用对象属性
e1[ e2 ] 按索引取值,list,数组和map
@class@method(args) 调用静态方法
@class@field 调用静态常量

MyBatis中可以使用OGNL的地方有两处:

动态SQL表达式中
${param}参数中
上面这两处地方在MyBatis中处理的时候都是使用OGNL处理的。

mybatis之OGNL表达式相关推荐

  1. mybatis ognl表达式

    MyBatis常用OGNL表达式 e1 or e2 e1 and e2 e1 == e2,e1 eq e2 e1 != e2,e1 neq e2 e1 lt e2:小于 e1 lte e2:小于等于, ...

  2. 为了熟练掌握动态SQL你必须要知道Mybatis中的OGNL表达式

    前言 OGNL是个什么东西?很多刚入门Java的同学会有点陌生.但是在Structs流行的时代OGNL可是必会的数据渲染技术.它全称Object Graph Navigation Language,作 ...

  3. MyBatis 一个动态sql的问题(动态SQL基于OGNL表达式)<if test=“state == ‘0‘“>单个的字符要使用双引号,改为<if test=‘state == “1“‘>或

    MyBatis 一个动态sql的问题(动态SQL基于OGNL表达式) <if test="state == '0'"> 单个的字符要使用双引号,改为<if tes ...

  4. 你必须要知道Mybatis中的OGNL表达式

    文章目录 前言 Mybatis中的OGNL 条件断言 四则运算赋值 类的内置方法 取值操作 赋值操作 总结 前言 OGNL是个什么东西?很多刚入门Java的同学会有点陌生.但是在Structs流行的时 ...

  5. 关于OGNL表达式中的%,$,#

    OGNL表达式非常强大-其中#.%.$这三个符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分,要认真区分.   1.#符号的用途一般有三种. 1)访问非根对象属性,例如示例 ...

  6. 深入理解Struts2中的OGNL表达式

    Struts 2中的表达式语言 Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JST ...

  7. OGNL表达式语言中的#和$的区别

    Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是 ValueStack,如果需要访 ...

  8. Struts(十):OGNL表达式(一)

    Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I.值栈中的属性值: 1.对象栈:读取对象栈中的某一个对象的属性值: 2.Map栈 :request,session, ...

  9. Struts2漏洞分析之Ognl表达式特性引发的新思路

    摘要 在Ognl表达式中,会将被括号"()"包含的变量内容当做Ognl表达式执行.Ognl表达式的这一特性,引发出一种新的攻击思路.通过将恶意代码存储到变量中,然后在调用Ognl表 ...

  10. struts2教程(9)--OGNL表达式使用

    OGNL表示式使用和值栈 一.介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的 ...

最新文章

  1. php中magic_quotes_gpc对unserialize的影响
  2. mysql修改i数据库名_数据库操作之mysqli语句的增删改查0424/14:36
  3. VTK:图片之ImageShrink3D
  4. ati显卡驱动安装linux,恭喜自己 ati显卡驱动安装成功
  5. pandas之表格样式
  6. Linux:mkdir 创建多级目录
  7. 腾讯或推动斗鱼虎牙合并;拼多多推出“百亿补贴节”;Electron 9.2.0 发布| 极客头条
  8. [转载] json.dumps()和json.dump()的用法和区别
  9. svn下载项目到指定文件夹,以及更新提交
  10. python傅里叶逆变换_Python傅里叶逆变换
  11. 计算机音乐三只小熊,三只小熊教案音乐
  12. 【PC攻略】炎炎夏日,让你的显卡风扇不再“偷懒!”
  13. 淘宝新店运营怎么选品?API接口助您高效选品
  14. net::ERR_INCOMPLETE_CHUNKED_ENCODING 200
  15. 通俗易懂的epoll
  16. 36岁大厂程序员,找不到工作。。。
  17. anaconda安装pythonocc
  18. bean覆盖 springboot_如何在@SpringBootTest中使用Mock覆盖bean?
  19. 软件测试工程师一定要参加软考吗?
  20. VUE实战-知乎日报(2)

热门文章

  1. 北京市海淀区卫星地图离线包下载
  2. 云服务器上安装jboss_jboss下载_精通jboss下载_下载与安装jboss-华军软件园
  3. 移动开发之微信小程序——资料集合
  4. CAD2019安装方法及步骤
  5. Fastboot驱动及安装
  6. ukey其他错误_关于税务UKey使用常见问题解答
  7. 华为G610开机第一屏G3替换教程
  8. 驱动人生安装驱动计算机无法启动,驱动人生怎么安装驱动程序?驱动人生基本功能...
  9. 0DAY和warez
  10. htc328d屏幕排线怎么换_HTC T328D解锁详细图文教程