Aunque muchos desarrollos ahora adoptan un modelo completamente separado de front-end y back-end, es decir, el back-end solo proporciona interfaces de datos, y el front-end obtiene datos a través de solicitudes AJAX, que no requiere un motor de plantilla. La ventaja de este método es que los extremos delanteros y traseros están completamente separados, y con la mejora de las herramientas de ingeniería front-end y los marcos de MVC en los últimos años, el costo de mantenimiento de este modelo es relativamente más bajo. Sin embargo, este modo no es propicio para el SEO y será un poco peor en el rendimiento. También hay algunos escenarios que el uso del motor de plantilla será más conveniente, como las plantillas de correo electrónico. Este artículo analiza principalmente la integración del arranque de primavera con los motores de plantilla Thymeleaf, Freemaker y JSP.
1. Integre Thymeleaf
Paso 1: Introduzca el paquete JAR (iniciador correspondiente a Thymeleaf):
<Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactId> spring-boot-starter-thymeleaf </artifactid> </dependency>
Paso 2: Configurar thymeleaf:
Spring: Thymeleaf: Prefijo: classpath:/plantlates/check-template-ubation: verdadero caché: falso sufijo: .html codificación: utf-8 contenido-tipo: texto/modo html: html5
Prefijo: especifique el directorio donde se encuentra la plantilla
Temperato de comprobación: verifique si existe la ruta de la plantilla
Cache: si debe almacenar en caché, establecer en falso en modo de desarrollo, evite cambiar la plantilla y reiniciar el servidor. Configurarlo en verdadero en línea puede mejorar el rendimiento.
Codificación y tipo de contenido: todos deben estar familiarizados con esto, lo cual es consistente con los atributos correspondientes establecidos en servlets.
Modo: consulte las instrucciones en el sitio web oficial, y esto es 2.x y 3.0. El paquete introducido automáticamente en este artículo es 2.15.
El tercer paso es escribir el archivo de plantilla THyMeleaf:
< content = "text/html; charset = utf-8"/> </head> <body> <h6> thymeleak plantate motor </h6> <table bgcolor = "#f0ffff"> <thead> <th> número de serie </th> <th> title </th> <th> sumario </th> <th> : $ {list} "> <tr> <td th: text =" $ {artículo.id} "> </td> <td th: text =" $ {artículo. </tbody> </table> </body> </html>Como puede ver, Thymeleaf es relativamente simple, y su característica más importante es que la etiqueta existe como un atributo de un elemento HTML. Es decir, la página se puede ver directamente a través del navegador, pero no hay datos. Esto es muy conveniente para que todos depuvan.
Paso 4: Configurar el controlador:
@Controlador @requestmapping ("/artículo") clase pública articlecontroller {@aUtowired private ArticleService ArticlesService; @RequestMapping ("/ArticLelist.html") public String getArTiCLeList (modelo modelo, título de cadena, @RequestParam (defaultValue = "10") entero PageSize, @RequestParam (defaultValue = "1") entero pagenum) {int offset = (PageNum - 1) * Pagesizeize; Lista <artículo> list = ArticleService.GetArticles (título, 1L, Offset, PageSize); model.addattribute ("list", list); devolver "artículo/articlelist"; }}Tenga en cuenta que la anotación utilizada aquí es @Controller, no @RestController, porque @RestController convertirá automáticamente el resultado de retorno en una cadena.
Paso 5 Ver los resultados
2. Integración entre Boot de primavera y Freemarker
1. Introducir el paquete JAR (inicio correspondiente a Freemarker)
<Spendency> <MoupRupid> org.springframework.boot </groupid> <artifactId> spring-boot-starter-freemarker </artifactid> </pendency>
2. Configurar Freemarker:
Spring: Freemarker: Template-Loader-Path: classpath:/Templates/sufijo: .ftl Content-type: text/html charset: UTF-8 Configuración: number_format: '0. ##'
Además de la configuración, otras opciones de configuración son similares a Thymeleaf. settings will have an impact on some behaviors of freemarkers, such as date formatting, number formatting, etc. Interested students can refer to the instructions provided by the official website: https://freemarker.apache.org/docs/api/freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-
3. Escribir archivo de plantilla de marca freem:
<html> <title> Lista de artículos </title> <body> <h6> Freemarker Template Engine </hbily <pable> <thead> <tr> <th> número de serie </th> <th> title </th> <th> summary </th> <th> creación tiempo </th> </tr> </thead> <#list List as Artículo> <tr> <TD> $ {Artículo.id} </td> <td> $ {artículo </table> </body> </html>4. Controlador de escritura:
@Controlador @requestmapping ("/artículo") clase pública articlecontroller {@aUtowired private ArticleService ArticlesService; @RequestMapping ("/list.html") public String getArticles (modelo modelo, título de cadena, @RequestParam (defaultValue = "10") entero PageSize, Integer Pagenum) {if (PageSize == NULL) {PageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (Pagenum - 1) * PageSize; Lista <artículo> list = ArticleService.GetArticles (título, 1L, Offset, PageSize); model.addattribute ("list", list); devolver "artículo/lista"; }}5. Visite la página:
3. Srring Boot se integra con JSP:
En el desarrollo formal de proyectos, las plantillas JSP rara vez se usan ahora, por lo que el arranque de Spring admite JSP no muy bien, por lo que es relativamente más complicado de configurar que THymeleaf y FreeMaker.
El primer paso es introducir el paquete JAR:
<Spendency> <MoupRid> javax.servlet </proupid> <artifactid> jstl </artifactid> </pendency> <pendency> <uproupid> org.apache.tomcat.embed </proupid> <artifactid> tomcat-mbed-jasper </artifactid> </pendency>>
La primera dependencia de JSTL se utiliza para apoyar las expresiones EL, y la segunda se usa para admitir JSP. Tenga en cuenta que si se está ejecutando en TomCat externo, debe establecer un alcance para proporcionar para evitar conflictos de paquetes de jarra.
Paso 2: Crea manualmente el directorio de la aplicación web:
Debe crear manualmente un directorio de la aplicación web en el directorio principal, con la estructura de la siguiente manera:
Paso 3 JSP Configuración de fuerza en la carretera:
Agregue la siguiente configuración en Application.yml:
Spring: MVC: Ver: Prefix:/Web-INF/JSP/SUFFIX: .JSP
Aquellos que entienden Spring MVC deben estar familiarizados con la configuración anterior.
Paso 4: Escribe la página JSP:
<%@ página contentType = "text/html; charset = utf-8" lenguaje = "java"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <html> <bead> <title> title </title> </bodic> <body> <body> <cent table> elementos = "$ {list}"> <tr> <td> $ {artículo.Paso 5: Escribe el controlador:
@RequestMapping ("/listJsp") public String getArTiCLeListJsp (modelo modelo, título de cadena, @RequestParam (defaultValue = "10") Entente PageSize, Integer Pagenum) {if (PageSize == NULL) {PageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (Pagenum - 1) * PageSize; Lista <artículo> list = ArticleService.GetArticles (título, 1L, Offset, PageSize); model.addattribute ("list", list); devolver "artículos"; }Paso 6 para acceder a la página de resultados:
4. Resumen
En general, Spring Boot es amigable con el soporte de Thymeleaf y Freemaker, y la configuración es relativamente simple. En el desarrollo real, la mayoría de ellos se basan principalmente en estos dos motores de plantilla, y hay pocos JSP. Los JSP ahora se pueden usar más durante la etapa de experimento o aprendizaje. Lo más problemático de la configuración de JSP es que no es como los dos primeros. La declaración en línea es básicamente la misma, pero hay muchas declaraciones sobre la configuración de JSP, como si es necesario cambiar el paquete JAR a un paquete de guerra. ¿Se debe configurar la dependencia de JSP para proporcionar, etc. Esto depende principalmente de si desea implementar el programa en Tomcat externo al final o ejecutar el jar directamente? Debido a que este artículo ejecuta directamente la clase de aplicación bajo idea, estas operaciones no son necesarias.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.