Если у меня есть анонимный внутренний объект класса, как это (где Foo является интерфейс):вызывать методы с параметром (ами) на анонимной фасоли внутреннего класса в EL
Foo foo = new Foo(){
@Override
public String hello(Object dummyArg){
return "hello, world.";
}
};
и я пытаюсь вызвать Foo.hello
из JSP, как это:
${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. Какой у вас сервер? Убедитесь, что вы используете последнюю версию. –
ссылка: http://stackoverflow.com/questions/1299837/cannot-refer-to-a-non-final-variable-inside-an-inner-class-defined-in-a-differen –