• 使用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 所示。

    使用OGNL调用对象的输出结果
    图 1  使用OGNL调用对象的输出结果

更多...

加载中...