【发布时间】:2013-04-24 22:31:30
【问题描述】:
如果我有一个像这样的匿名内部类对象(其中 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 的副本。我专门询问匿名内部类。对于常规类的实例,它可以使用任意数量的参数。
【问题讨论】:
-
我想我记得在旧版本的Tomcat上被这种bu咬过。你的服务器是什么?确保您使用的是最新版本。
标签: java jsp el anonymous-inner-class