Este artículo presenta a Spring Boot y Kotlin para que representen vistas web utilizando el motor de plantilla Thymeleaf.
Acceso a recursos estáticos
Cuando desarrollamos aplicaciones web, necesitamos hacer referencia a una gran cantidad de recursos estáticos como JS, CSS e imágenes. ¿Cómo apoyar estos recursos estáticos usando Spring Boot y Kotlin? , muy simple.
Configuración predeterminada
Spring Boot proporciona ubicaciones de directorio de recursos estáticos de forma predeterminada y debe colocarse en classPath, y el nombre del directorio debe cumplir con las siguientes reglas:
/static/public/recursos/metainf/recursos
Por ejemplo: podemos crear estática en el directorio SRC/Main/Resources/y colocar un archivo de imagen en esa ubicación. Después de comenzar el programa, intente acceder a http: // localhost: 8080/ruby.jpg. Si se puede mostrar la imagen, la configuración tendrá éxito.
Renderizar una página web
Anteriormente, la solicitud se procesaba a través de @RestController, y el contenido devuelto era un objeto JSON. Si necesita representar una página HTML, ¿cómo implementarla?
Motor de plantilla
Bajo el motor de plantilla recomendado por Spring Boot, podemos comenzar rápidamente el desarrollo de sitios web dinámicos.
Spring Boot proporciona motores de plantilla de configuración predeterminados con los siguientes tipos principales:
Thymeleffreemarkergroovymustache
Spring Boot recomienda usar estos motores de plantilla para evitar usar JSP. Si tiene que usar JSP, no podrá implementar varias características de Spring Boot. Para más detalles, puede ver el siguiente texto: Configuración de JSP de soporte.
Cuando usa cualquiera de los motores de plantilla anteriores, su ruta de configuración de plantilla predeterminada es: SRC/Main/Resources/Plantates. Por supuesto, este camino también se puede modificar. Para obtener más detalles, puede consultarlo y modificarlo en las propiedades de configuración de los motores de plantilla posteriores.
Tomada
THyMeleaf es un motor de plantilla XML/XHTML/HTML5 que puede usarse para el desarrollo de aplicaciones en entornos web y no WEB. Es una biblioteca Java de código abierto basada en la licencia Apache License 2.0 y fue creada por Daniel Fernández, autor de la Biblioteca Java de cifrado Jasypt.
THyMeleaf proporciona un módulo opcional para integrar MVC Spring. En el desarrollo de aplicaciones, puede usar ThymelEaf para reemplazar completamente los motores JSP u otros motores de plantilla, como el marcador libre, etc. El objetivo principal de Thymeleaf es proporcionar un método de creación de plantillas bien formado que el navegador pueda mostrar correctamente por el navegador y, por lo tanto, también puede usarse como modelado estático. Puede usarlo para crear plantillas XML y HTML validadas. En comparación con la escritura de lógica o código, los desarrolladores simplemente necesitan agregar atributos de etiqueta a la plantilla. A continuación, estas propiedades de la etiqueta ejecutan lógica preformada en el DOM (modelo de objeto de documento).
Plantilla de muestra:
< World </h1> </body> </html>
Se puede ver que THyMeleaf se agrega principalmente a la etiqueta HTML en forma de atributos. Cuando el navegador analiza el HTML, lo ignorará cuando verifique que no hay atributo. Por lo tanto, la plantilla de Thymeleaf se puede registrar directamente a través del navegador, que es muy propicio para la separación de los extremos delanteros y traseros.
Para usar Thymeleaf en Spring Boot, solo necesita introducir las siguientes dependencias y escribir el archivo de plantilla en la ruta de plantilla predeterminada SRC/Main/Resources/Plantlates para completarlo.
compilar "org.springframework.boot: spring-boot-starter-thymeleaf: $ spring_boot_version"
Después de completar la configuración, proporcione un ejemplo simple, basado en el proyecto de inicio rápido, proporcione un ejemplo simple para representar una página a través de Thymeleaf.
importar org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/*** creado por http://quanke.name el 2018/1/10. */ @ControllerClass HELLOCONTROLLER {@RequestMapping ("/") Dun Index (map: modelmap): string {// Agregar un atributo a leer map.addattribute ("host", "http://quanke.name") en la plantilla // el nombre del archivo de la plantilla de regreso, correspondiente a src/main/recursos/semptlates/templates. }}De forma predeterminada, agregue el archivo index.html en el directorio src/main/recursos/plantillas.
< World </h1> </body> </html>
Agregar método de inicio de arranque de primavera implementado utilizando el idioma Kotlin:
importar org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootapplication/*** creado por http://quanke.name el 2018/1/9. */@SpringBootApplicationClass ApplicationFun Main (args: Array <String>) {SpringApplication.run (Application :: Class.Java, *Args)}Como se muestra en la página anterior, puede abrir directamente la página HTML para mostrar Hello World, pero después de comenzar el programa, visite http: // localhost: 8080/, que muestra el valor de host en el controlador: http://quanke.name, que logra la separación lógica de los datos sin destruir el contenido de HTML.
Para obtener más sintaxis de página de Tymeleaf, visite la documentación oficial de Tymeleaf para consultar.
Configuración de parámetros predeterminada de Thymeleaf
Si necesita modificar la configuración predeterminada, simplemente copie los atributos que desea modificar a continuación en Application.yml y modificarlos al valor requerido, como modificar la extensión del archivo de plantilla, modificar la ruta de plantilla predeterminada, etc.
# Habilitar plantilla caching.spring.thymeleaf.cache = true # verifique que la ubicación de las plantillas exista.spring.thymeleaf.check-template-location = true # content-type value.spring.thymeleaf.content-type = text/html # enable mvc thymeleak ver resolution.spring.thymeleAf.ThyMeAFT Encoding.spring.thymeleaf.encoding = UTF-8 # Lista de nombres de vistas separados por comas que deben excluirse de resolution.spring.thymeleaf.excluded-view-names = # Modo de plantilla que se aplicará a las plantillas. Consulte también StandardTemplatEmodeHandlers.spring.thymeleaf.mode = html5 # prefijo que se prepara para ver los nombres al construir una url.spring.thymeleaf.prefix = classpath:/ plantlates/ # sufix que se acumula para ver los nombres al construir una url.spring.thymeleaf.suffix = .html Spring.ThyMeleaf.template-resolver-order = # Orden del resolución de plantilla en la cadena. Spring.ThyMeleaf.View-Names = # Lista de nombres de vista separado por comas que se pueden resolver.
Pruebe el entorno o el entorno de desarrollo para evitar problemas inesperados. Configuración general: spring.thymeleaf.cache = true
Soporte de configuración de JSP
No se recomienda el arranque de primavera, pero si debe usarlo, puede consultar este proyecto como un andamio: Soporte JSP
En general, Kotlin admite muy bien el arranque de primavera. Solo necesita usar el arranque de primavera en Java y traducirla a Kotlin.
Resumir
Lo anterior es el método de usar el motor de plantilla Thymeleaf para representar las vistas web de Spring Boot y Kotlin presentados a usted. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!