if en Thymeleaf - Mostrar u ocultar div

Agregar mensajes flash al redirigir con Spring Boot y Thymeleaf

RedirectAttributes en Spring Boot

En este post te mostraré cómo agregar mensajes de aviso que se muestran una sola vez (y al recargar ya no), muy útiles cuando se tiene que mostrar un mensaje por única ocasión cuando se redirige a otra página en Spring Boot.

Mensajes flash al redirigir

Nota: recomiendo ver cómo redirigir en Spring Boot.

En el método de nuestro controlador debemos inyectar a RedirectAttributes y después invocar al método addFlashAttributes.

La función addFlashAttributes dispone de la siguiente firma:

addFlashAttributes("clave", "valor");

Vamos a ver un ejemplo:

@PostMapping(value = "/agregar")
@ResponseBody
public String guardarProducto(@ModelAttribute Producto producto, RedirectAttributes redirectAttrs) {
    productosRepository.save(producto);
    redirectAttrs
            .addFlashAttribute("mensaje", "Agregado correctamente")
            .addFlashAttribute("clase", "success");
    return "redirect:/productos/agregar";
}

Presta atención a la línea 3 que es en donde se inyecta una variable de tipo RedirectAttributes.

En la línea 6 y 7 se agregan atributos, en este caso un mensaje y una clase de una alerta de Bootstrap.

Como ves, addFlashAttribute devuelve this y por lo tanto se puede encadenar.

Finalmente en la línea 8 se redirige al usuario a otra ruta.

Dentro de la otra ruta, en la plantilla HTML, tenemos esto:

<div th:classappend="'alert-' + (${clase != null} ? ${clase} : info)" th:if="${mensaje != null}"
     th:text="${mensaje}"
     class="alert">
</div>

El resultado, cuando se agregan mensajes, es el siguiente:

if en Thymeleaf - Mostrar u ocultar div
La alerta se muestra solo cuando una variable está establecida con el mensaje – Usando Spring Boot

En este caso se muestra un aviso. Por cierto, eso se logra en Thymeleaf usando th:if.

Oh, y si te preguntas, la captura es de un sistema de ventas que ando haciendo con Spring Boot.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

1 comentario en “Agregar mensajes flash al redirigir con Spring Boot y Thymeleaf”

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *