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 un Ingeniero de Software, escritor publicado y galardonado. Actualmente, trabaja para MariaDB plc como Ingeniero de Relaciones con Desarrolladores (Developer Relations Engineer). Comenzó su trayectoria en programación a los 13 años con BASIC en una rudimentaria pantalla negra, para lugo rápidamente transitar a C, C++ y Java durante sus años académicos en la Universidad Nacional de Colombia. Trasladándose primero al Reino Unido y luego a Finlandia, Alejandro profundizó su participación en la comunidad de código abierto. Es reconocido en los círculos de Java, acreditado con artículos y videos que acumulan millones de vistas, y presentaciones en eventos internacionales.

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
Nota: Traducido de la versión original en Inglés. Aquí un breve extracto del Capítulo 9 Lazy Loading de mi libro Data-Centric Applications with Vaadin 8.
Hola Mundo en Vaadin 10+
·1243 palabras·6 mins
Vaadin
Nota: Traducido de la versión original en Inglés. Vaadin es un conjunto de herramientas para crear aplicaciones web dirigido tanto a desarrolladores frontend como backend.
¿Aplicaciones Centradas en Datos con Vaadin 10?
·261 palabras·2 mins
Vaadin Noticias
Nota: Traducido de la versión original en Inglés. Recientemente recibí algunas copias impresas de mi último libro sobre Vaadin.