使用OGNL访问对象方法和静态方法
除了在 JSP 页面中可以使用 OGNL 表达式以外,OGNL 还支持在 Java 代码中访问对象方法和静态方法,接下来本节中将讲解 OGNL 是如何调用方法的。
1. OGNL访问对象方法
OGNL 表达式通过“对象名.方法名()”的形式调用对象方法表达式,如果是调用根对象的方法,则可以直接使用方法的名称调用,其调用语法如下所示:
Ognl.getValue("方法名",对象名);
其实无论 OGNL 表达式以哪种方式取值或者调用方法,最终都是调用其本身的 getValue() 方法。接下来通过一个案例演示 OGNL 如何在 Java 代码中调用对象方法。
在 StrutsDemo05 项目的 com.mengma.ognl 包中创建一个名为 TestOgnl01 的类,编辑后如下所示。
package com.mengma.ognl; import ognl.OgnlException; public class TestOgnl01 { public static void main(String[] args) { Person person = new Person(); person.setName("admin"); try { System.out.println(ognl.Ognl.getValue("name", person)); } catch (OgnlException e) { e.printStackTrace(); } } }
上述代码的输出语句中,使用了 OGNL 表达式的方式获取 Person 对象中的 name 属性值,运行 main() 方法后,控制台的输出结果如图 1 所示。
发表评论