1、ognl介绍:
OGNL是Object-Graph Navigation Language(对象图导航语言)的缩写,它是一种功能强大的表达式语言;
比El表达式功能强大。
*xwork提供OGNL表达式
*ognl-3.0.5.jar
struts2将ognl表达式语言,集成到struts2框架中,做为它默认表达式语言。
OGNL提供五大类功能:
1、支持对象方法调用,如:xxx.doSomeSpecial();
2、支持类静态的方法调用和值访问;
3、访问OGNL上下文(OGNL context)和ActionContext;(重点:操作ValueStack值栈);
4、支持赋值操作和表达式串联;
5、操作集合对象。
valueStack是值栈;
1、从技术角度 ValueStack就是一个接口;
2、从使用角度 ValueStack就是一个容器;
演示:在struts2中使用ognl表达式
需要结合struts2的标签使用<s:property value="ognl表达式">
<s:property value="'abc'.length()"/>演示对象调用方法
<s:property value="@java.lang.Math@max(10,20)"/>演示静态成员访问
注意:在struts2中使用静态成员访问,必须设置一个常量:
把struts.ognl.allo