如果我有一个匿名内部类对象,如下所示(其中Foo是一个接口):
Foo foo = new Foo(){
@Override
public String hello(Object dummyArg){
return "hello, world.";
}
};
我尝试在 jsp 中调用 Foo.hello
,代码如下:
${foo.hello('blah')}
它抛出以下异常:
javax.el.MethodNotFoundException: Unable to find method [hello] with [1] parameters
但如果没有参数:
Bar bar = new bar(){
@Override
public String hello(){
return "hello, world.";
}
};
...
${bar.hello()}
它正常工作了。为什么?
这不是7121303的复制。我特别询问匿名内部类。对于一个普通类的实例,它可以用任意数量的参数工作。