OGNL是Object GraphicNavigation Language(对象图导航语言)的缩写,
它是一个开源项目。 Struts2框架使用OGNL作为默认的表达式语言。
作用:取值,获取javaBean中的属性,获取List或者数组元素,获得map的键值对,还可以执行逻辑运算。
要求:我们必须把ognl表达式写在struts的标签中。
使用ognl需要先引入struts标签库
<%@ taglib uri="/struts-tags" prefix="s"%>
代码:
<body>
<h1>对普通属性的调用</h1>
<s:property value="'renliang'"/>
<h1>对普通方法的调用</h1>
<s:property value="'renliang'.toUpperCase()"/>
<h1>对静态方法或属性的调用</h1>
<s:property value="@java.lang.Integer@MAX_VALUE"/> <%--取Integer的最大值的方法 --%>
<h1>对普通方法或属性的调用</h1>
<h2>使用ognl调用静态方法的时候,需要现在struts.xml中开启井田方法的调用权限,struts.ognl.allowStaticMethodAccess</h2>
<s:property value="@java.lang.Math@abs(-100)"/> <%--取绝对值的方法 --%>
</body>
调用静态方法,需要在struts.xml中开启静态方法调用权限
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>