Configurar Thymeleaf en nuestro Proyecto Maven

Actualmente, en muchos proyectos los desarrolladores están prefiriendo usar páginas estáticas con Thymeleaf en vez de trabajar con la combinación clásica de JSP y de validaciones mediante Javascript. Aunque Javascript permite añadir estructuras más complejas a nuestro proyecto, la realidad es que en las aplicaciones sencillas el uso de Thymeleaf nos permitirá incrementar el ritmo de desarrollo sin que se pierda demasiada funcionalidad en el resultado final.

 

 

Para comenzar a trabajar con Thymeleaf en nuestro proyecto Maven, tendremos que seguir los pasos indicados a continuacion.

 

1º) En primer lugar, tendremos que añadir la siguiente dependencia en el fichero pom.xml


<!-- Thymeleaf -->

<dependency>

      <groupId>org.thymeleaf</groupId>

      <artifactId>thymeleaf-spring5</artifactId>

      <version>3.0.11.RELEASE</version>

</dependency>


Esto hará que, una vez construido, se añadan las siguientes librerías Maven:

 

2º) A continuación, tendremos que configurar el TemplateResolver de nuestra app. Para ello, nos vamos al fichero de configuración de Spring de nuestro proyecto y le añadimos el ApplicationContext mediante el tag @Autowired.

 

@Configuration

public class CarteraAppConfig implements WebMvcConfigurer {

 

      @Autowired

      private ApplicationContext applicationContext;


3º) Luego, en esa misma clase procedemos a añadir el correspondiente método para configurar el TemplateResolver. Esta interfaz será la que se encargue de acceder al contexto indicado en el que se encontrarán todos los recursos de Spring.

La configuración se hará del siguiente modo.


// --------------------------------------------------

// Spring Template Resolver

@Bean

public SpringResourceTemplateResolver templateResolver() {

     

      SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();

    templateResolver.setApplicationContext(applicationContext);

      templateResolver.setPrefix("/WEB-INF/views/");

      templateResolver.setSuffix(".html");

      return templateResolver;

     

}

// --------------------------------------------------

 

4º) Posteriormente, procedemos a configurar el TemplateEngine en este mismo fichero de configuración de Spring. Como se aprecia, básicamente lo que se hace es indicarle el TemplateResolver que se va a utilizar en la app.

 

// --------------------------------------------------

// Spring Template Engine

@Bean

public SpringTemplateEngine templateEngine() {

     

      SpringTemplateEngine templateEngine = new TemplateEngine();

      templateEngine.setTemplateResolver(templateResolver());

      templateEngine.setEnableSpringELCompiler(true);

      return templateEngine;

     

}

// --------------------------------------------------

  

5º) Finalmente, tendremos que configurar un ViewResolver para que se realice el tratamiento de las páginas Thymeleaf. Recordemos que el ViewResolver es la interfaz que, a partir del retorno del Controlador, nos redirige a la página Thymeleaf correspondiente y le proporciona las variables que se hayan cargado en el Modelo.


// --------------------------------------------------

// ViewResolver Thymeleaf

@Bean

public ViewResolver thymeleafResolver() {

     

      ThymeleafViewResolver viewResolver = new afViewResolver();

      viewResolver.setTemplateEngine(templateEngine());

      viewResolver.setOrder(0);

      return viewResolver;

}

// --------------------------------------------------

 

Siguiendo cuidadosamente todos estos pasos, la capa Vista de nuestra aplicación Spring quedará correctamente configurada para que se establezca correctamente la comunicación entre el Controlador de la app y las páginas Thymeleaf que hayan sido desarrolladas.

 

Saludos.


Comentarios

Entradas populares de este blog

Componentes y Ventanas de Java Swing

Creación de Webservice SOAP básico

Eliminar duplicados de una Lista en Java