写在前面
这篇文章是作者学习OGNL时的笔记
有建议或问题请留言或联系h3llow0rld@foxmail.com
简述
OGNL是Object-Graph Navigation Language的简称,是一种键-值对类型的表达式语言(Expression Language),在struts2中应用广泛
语法
运算符
运算符 |
---|
顺序运算符, |
赋值运算符= |
条件运算符? : |
逻辑或运算符`or/ |
逻辑与运算符and/&& |
按位或运算符` |
按位与运算符&/band |
按位异或运算符^/xor |
关系运算符(相同)==/eq |
关系运算符(不同)!=/neq |
关系运算符(小于)</lt |
关系运算符(大于)>/gt |
关系运算符(小于或等于)<=/lte |
关系运算符(大于或等于)>=/gte |
关系运算符(列表成员比较)in |
关系运算符(列表成员比较)not in |
算术运算符+, -, *, /, % |
一元运算符(取正)+ |
一元运算符(取反)- |
一元运算符(取非)!/not |
一元运算符(按位取反)~ |
一元运算符(类型判断)instanceof |
方法调用e.method(args)/method(args) |
属性调用e.property/property |
通过索引属性调用e1[e2]/[e2] |
投影e1,{ e2 } |
集合e1.{? e2 } |
子表达式求值(Subexpression evaluation)e1.(e2) |
表达式求值(Expression evaluation)e1(e2) |
括号表达式( e ) |
创建列表{ e, ...} |
上下文变量引用#variable |
静态方法引用@class@mehtod(args) |
静态值引用@class@field |
构造函数调用new class(args) |
数组创建new array-component-class[] {e, ...} |
Map创建#{e1: e2, ...} |
特定类型Map创建#@classname@{e1: e2, ...} |
Lambda表达式定义:[ e ] |