struts2框架中使用的表达式并不是EL表达式,不是不能用,而是struts2有自己的一套御用的表达式,名字就叫OGNL表达式,本章节就此表达式进行初步的学习,下一章节才会对OGNL表达式进行Demo练习~
1、何为OGNL表达式
1.1、简单描述
OGNL:对象视图导航语言,${ user.addr.name}这种写法就是对象视图导航,OGNL不仅仅可以视图导航导航,且支持比EL表达式更加丰富的功能。
1.2、OGNL介绍
OGNL是Object-Graph Navigation Language的缩写,翻译过来就是对象视图导航语言,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
EL表达式只能进行读取数据,而OGNL不仅可以读取数据,更重要是是可以写入数据(赋值)、调用方法(对象的一般方法、静态方法等);
OGNL表达式代码是由两部分组成的,分别是root和co