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?
答案 0 :(得分:0)
表达式语言利用Reflection在引用的对象上查找适当的属性访问器方法。
以下是有关表达式语言为何以这种方式运作的更多信息。