Invocación a método Java, cuando ocurre evento en formulario.

HIKLER
18 de Marzo del 2004
Que tal:

Les escribo para ver si es posible que me ayuden. Mi consulta es, ¿ cómo hago para invocar un método java o un método de un bean desde una página JSP cuando ocurre un evento en el formulario ? Ya lo he intentado al estilo JavaScript colocando la llamada al método en el evento onClick de un objeto del formulario, sin embargo al cargar la página el motor de servlets no se espera a que ocurra el evento y ejecuta de una vez el método.

Espero por favor me puedan ayudar.

Ken
18 de Marzo del 2004
Me temo que no hay una manera fácil de hacerlo.

Ten en cuenta que el form es HTML y por tanto está interpretado en el cliente. El método de una clase está en el servidor. Tendrías que comunicarlos de algún modo.

Una manera (no muy sencilla) de hacerlo sería redirigir al navegador (mediante javascript) a un servlet cuando ocurra el evento. Puedes incluso, cuando ocurra el evento, que haga un POST de un formulario (otro distinto, si quieres, con los campos ocultos que quieras) hacia el servlet. Este servlet, en función de qué campos (por ejemplo) estén rellenados, crea una instancia de la clase que quieres utilizar, llama al método, recoge el resultado, lo manipula como desees y reenvía a otra página (o a la página original, pero con más datos o datos distintos).

Entiendo que no es un modo fácil, pero es el único que se me ocurre, salvo que sepas manejarte con Struts, para el que existen librerías de etiquetas que permiten interactuar con javascripts (yo, personalmente, no las he utilizado nunca, no sé qué decirte exactamente...)

Salu2

Ken