EL可以检索子类的属性吗?

时间:2012-12-17 19:27:22

标签: jsf el

class Cat{
}

class Tiger extends Cat{
    public String getZooAddress(){
        return "cityZoo";
    };
}

Bean{
    public Cat getCat() {
        return new Tiger();
    }
}

我注意到#{bean.cat.zooAddress}实际显示“cityZoo”。它是如何工作的?我想象#{bean.cat}代表一只猫并试图调用getZooAddress()会导致“找不到属性”错误。容器是否会自动从Cat转向Tiger?

1 个答案:

答案 0 :(得分:0)

表达式语言利用Reflection在引用的对象上查找适当的属性访问器方法。

以下是有关表达式语言为何以这种方式运作的更多信息。

http://today.java.net/pub/a/today/2006/03/07/unified-jsp-jsf-expression-language.html#evaluation-of-el