Creamos el proyecto con eclipse, tenemos la opción de Spring.
Elegimos ‘Spring Web’ entre las dependencias.
—–
Para las propiedades de configuración, tenemos las disponibles en esta web:
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
—–
Un ejemplo HolaMundo de controlador, que devuelve la vista hello.html (que debe estar en main/resource/templates)
package com.example.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping( "/say" ) public class HelloWorldController { @GetMapping( "/hello" ) public String HelloWorld( Model model ) { model.addAttribute( "name", "Antonio" ); return "hello"; } }
La opción con ModelAndView sería:
@GetMapping( "/hello" ) public ModelAndView HelloWorld() { ModelAndView mav = new ModelAndView("hello"); mav.addObject( "name", "Antonio" ); return new ModelAndView("hello"); }
Por lo general usaremos la forma String para cuando se manejan pocos datos y/o redirecciones
Y ModelAndView para cuando hay que insertar y manejar bastantes datos en plantilla y demás.
——–
Si en ejecución obtengo: java.lang.ClassNotFoundException: org.unbescape.html.HtmlEscape
por ejemplo al intentar mostrar en plantilla datos complejos, se soluciona añadiendo al pom.xml:
<dependency> <groupId>org.unbescape</groupId> <artifactId>unbescape</artifactId> <version>1.0</version> </dependency>
———