什么是OGNL表达式?这里贴出ognl的百科
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。
OGNL和Struts2的关系
本身来讲,它们两个并没有什么关系,只是经常一起使用,ognl是一个独立的项目,用于jsp页面,struts2默认的表达式就是ognl
OGNL的使用方式
1.导入相应的jar包,这个struts2已经自带了
2.在jsp页面引入标签库
OGNL能做什么?
可以看出有5中功能,下面我们演示一下第一种。
对象方法调用(例如字符串有一个length()方法可以计算字符串的长度)
例如计算string这个字符串的长度(就是6)
OGNL中#号的作用
使用#获取context里面数据(值栈中context部分)
还有一种就是context中是一个map集合,其中key值又是固定的,所以可以根据不同的key值在页面中取出值栈的值
OGNL中%号的作用
用在struts2标签中表单标签
在struts2标签里面使用ognl表达式,如果直接在struts2表单标签里面使用ognl表达式不识别,只有%之后才会识别