pasar parametros misma metodos metodo llamar funciones ejercicios crear con como clases clase argumentos java jsp el anonymous-inner-class

java - parametros - invocar métodos con parámetros en beans de clase interna anónimos en EL



parametros en java netbeans (2)

Si tengo un objeto de clase interno anónimo como este (donde Foo es una interfaz):

Foo foo = new Foo(){ @Override public String hello(Object dummyArg){ return "hello, world."; } };

e intento llamar a Foo.hello desde un jsp como este:

${foo.hello(''blah'')}

arroja:

javax.el.MethodNotFoundException: Unable to find method [hello] with [1] parameters

pero si no hay parámetros:

Bar bar = new bar(){ @Override public String hello(){ return "hello, world."; } };

...

${bar.hello()}

funciona bien. ¿Por qué?

Esto no es un duplicado de 7121303 . Estoy preguntando específicamente sobre clases internas anónimas. Con una instancia de una clase regular, funciona con cualquier cantidad de parámetros.



No sé qué entorno estás usando pero probé con tomcat7.0.40 y tu código funciona bien.

Una posibilidad es que puede haber problemas con pasar Cadena cuando se espera un Objeto. Puede ser un análisis estricto. Puede intentar lo siguiente: Almacene el argumento en pageContext y úselo para pasar el valor a la función de la siguiente manera.

<% pageContext.setAttribute("argObj", "blah"); %> ${foo.hello(argObj)}