Compartiendo Datos
Datos simples
Para pasar datos desde nuestros controladores hacia las plantillas de html haremos uso de los elementos que nos brinda el motor de plantillas thymeleaf para ello creamos un archivo html con el siguiente marcado
Donde indicamos con un marcado especial el uso de un elemento que será el que se encargue de esperar a que se envié el dato desde el controlador y este es el atributo que agregamos a la etiqueta span .
th:text="${nombre}"
Ahora cuando definamos dentro de nuestro controlador un parámetro que pasaremos este será el lugar donde se carga dicho valor, creamos un nuevo controlador con el siguiente código.
como hicimos con el ejemplo de llamar a la plantilla aquí vemos las diferentes formas que tenemos para poder pasar valores del controlador hacia la plantilla html.
En el primer método como retornamos una cadena, para poder pasar los datos usaremos el objeto Model de Spring para poder definir atributos que se agregan a la respuesta http que esté haciendo en ese momento el cliente, y con ello se retorna la plantilla más un modelo con datos que son los básicos par-valor, por ello usamos la propiedad addAttribute(<nombre parámetro>,<valor parámetro>).
En el segundo caso el objeto ModelAndView recibe por medio de una propiedad addObject un elemento que debe retornar junto con la plantilla cuando esta es solicitada por el cliente.
Datos Complejos
Ahora si necesitamos pasar más de un valor hacia la plantilla lo que podemos hacer es enviar un objeto con los elementos que necesitamos mostrar en dicha plantilla para ello creamos una nueva plantilla con el siguiente marcado:
Ahora creamos una nueva clase controller para hacer el paso del objeto hacia nuestra plantilla
Adicionalmente tenemos que crear un paquete con el nombre "model", y dentro del paquete creamos una clase con el siguiente código
Con esto al ejeuctar nuestra app e ingresar al navegador por la url
Podemos ver la siguiente información en pantalla
Esto significa que todo ha esta de forma correcta y que nuestros datos se estan pasando desde el controlador a la plantilla, pasados por medio de un objeto.
Lista de datos
Cuando necesitamos pasar una lista de datos desde el controlador a la vista debemos realizar las siguientes codificaciones, primero creamos la clase en java para enviar el listado de personas
Lo que hemos hecho es crear un método que retorne una List de java en este caso con datos de personas que para nuestro ejemplo la realizamos de la manera más simple creando un objeto Lista y añadiendo los objetos correspondientes a la lista que vamos a pasar a la vista
en el método que envía los parámetros hacia la plantilla, en la propiedad addAtributte, en el valor del parámetro pasamos el llamado al método que retorna la lista en este caso getPersonas() y listo con eso ya definimos que enviaremos un objeto con la lista de personas hacia la plantilla, en la cual debemos de agregar el siguiente marcado para poder recuperar los datos y mostrarlos en la pantalla.
Al ejecutar la aplicación obtendremos el siguiente resultado en el navegador.
Como podemos ver según los ejemplos realizados spring nos permite de una forma simple el poder pasar parámetros desde nuestros controladores hacia las vistas, solo debemos de tener en cuenta que datos vamos a enviar para poder crear los métodos y objetos necesarios para tenerlos a disposición de nuestras vistas.
Last updated
Was this helpful?