Ir al contenido

Cómo llamar a un método Java desde una función JavaScript en el navegador

·140 palabras·1 min
Programación Vaadin
Alejandro Duarte
Autor
Alejandro Duarte
Alejandro Duarte es Ingeniero de Software, escritor, Ingeniero de Relaciones con Desarrolladores en MariaDB y consultor en desarrollo de software. Ha programado computadores desde mediados de los 90s. Comenzando con BASIC, Alejandro transitó a C, C++ y Java durante sus años académicos en la Universidad Nacional de Colombia. Se mudó primero al Reino Unido y luego a Finlandia para profundizar su participación en la industria del código abierto. Alejandro es reconocido en círculos de Java y MariaDB.

Nota: Traducido de la versión original en Inglés.

En este video demuestro cómo llamar a un método Java que se ejecuta en el servidor desde una función JavaScript que se ejecuta en el navegador web:

En resumen, necesitas una aplicación web Java con las dependencias de Vaadin (puedes crear rápidamente una aquí), un archivo de script en el directorio webapp/frontend/ y una clase Java con un método anotado con @ClientCallable que envía un Element a la función JavaScript. La función JavaScript puede usar el objeto $server en la instancia Element para llamar al método Java anotado.

Aquí está el código:

MainView.java:

@JavaScript("frontend://script.js")
@Route
public class MainView extends Div {
    public MainView() {
        getElement().executeJavaScript(
                "someJavaScriptFunction($0)", getElement());
    }

    @ClientCallable
    public someJavaMethod(String message) {
        System.out.println(message);
    }
}

script.js:

function someJavaScriptFunction(element) {
    element.$server.someJavaMethod("¡Hola servidor!");
}

Puedes leer el tutorial completo con cada paso aquí.

¿Te gustó este artículo? Puedo ayudar a tu equipo a implementar soluciones similares. Contáctame para saber más.

Relacionados

Carga diferida infinita
·280 palabras·2 mins
Vaadin
Un extracto del Capítulo 9 de mi libro sobre la implementación de carga diferida infinita en Vaadin.
Hola Mundo en Vaadin 10+
·1243 palabras·6 mins
Vaadin
Una guía para crear una aplicación Hola Mundo usando Vaadin 10+ y Java.
¿Aplicaciones Centradas en Datos con Vaadin 10?
·261 palabras·2 mins
Vaadin Noticias
Migrando los ejemplos de mi libro sobre Vaadin 8 a Vaadin 10.