Backend
Spring
MVC
SSR
Para generar la presentación en el servidor, normalmente se utiliza un lenguaje para procesar textos. Spring permite configurar uno de entre varias librerías. En nuestro caso usaremos Thymeleaf.
Vamos a crear un endpoint/recurso SSR /saludo?nombre=tu-nombre que devuelva un HTML mostrando un párrafo con el texto "¡Hola, tu-nombre!". Sobre el proyecto MVC generado anteriormente:
-
Crea el fichero
saludo.htmlen el directorio de plantillas:<!DOCTYPE html> <html lang="es" xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"><title>Saludo</title></head> <body><p th:text="'¡Hola, ' + ${nombre} + '!'"></p></body> </html> -
Crea la siguiente clase dentro del directorio con la lógica de la aplicación MVC:
@Controller public class ControladorSSR { @GetMapping("/saludo") public String saludo( @RequestParam(name="nombre", required=false, defaultValue="Mundo") String nombre, Model model ) { model.addAttribute("nombre", nombre); return "saludo"; } }
⚠️ Importante: Todos los fragmentos de código Java de esta web no incluyen los correspondientes
imports. Tras copiarlos y pegarlos, es necesario importarlos en el IntelliJ pulsando alt+↲ sobre la clase en rojo no reconocida.
❓ Ejercicio 1: Compila y ejecuta el proyecto desde el IDE. Abre en un navegador la URL
http://localhost:8080/saludo?nombre=tu-nombre. Pon un punto de ruptura dentro de la funciónsaludoy ejecuta en modo depuración. Comprueba qué pasa cuando no se envía ningún nombre. Modifica el código para que el nombre sea obligatorio.
❓ Ejercicio 2: Identifica qué partes del código se corresponden con las partes del flujo MVC.