La página SpringBoot muestra Thymeleaf
Al desarrollar proyectos WEB Java tradicionales, podemos utilizar el lenguaje de plantilla de página JSP, pero no se recomienda en SpringBoot. SpringBoot admite los siguientes lenguajes de plantillas de página
Lo anterior no enumera todas las tecnologías de plantillas de página admitidas por SpringBoot. SpringBoot recomienda oficialmente Thymeleaf. A continuación se muestran algunas reglas de sintaxis comunes para Thymeleaf.
Para usar Thymeleaf, primero agregue una dependencia Thymeleaf separada en el archivo pom.xml.
Spring Boot almacena las páginas de plantilla en src/main/resources/templates o src/main/view/templates. Esto es lo mismo independientemente del idioma de plantilla que se utilice. Por supuesto, la ruta predeterminada es. Se puede personalizar, pero generalmente no se recomienda. La extensión de archivo de página predeterminada de Thymeleaf es .html.
Durante el proceso de desarrollo de MVC, a menudo necesitamos pasar datos a la página a través del controlador para poder mostrar la página dinámicamente.
Cree un objeto Controlador y pase parámetros en él
Cree el archivo show.html en la ruta de página predeterminada de SpringBoot, su contenido es el siguiente
puedo ver Hay un atributo th:text en la etiqueta p, que es la sintaxis de thymeleaf, lo que indica que se muestra un mensaje de texto sin formato.
Si la información que queremos mostrar está en el archivo de recursos, también se puede mostrar en la página. Por ejemplo, el contenido definido en el archivo de recursos bienvenido.msg=¡Bienvenido {0} a! se mostrará en la página
Además, algunas operaciones matemáticas básicas también se pueden realizar en th:utext
Si queremos transferir información a la página, que a su vez tiene estilos CSS. ¿Cómo usarlo en este momento? ¿También se muestran las páginas que contienen información de estilo? En este punto, nuestro método de controlador está escrito así.
En este caso, la página necesita usar el atributo th:utext para mostrar
Al ver el código fuente de la página en el navegador, puede encontrar que la diferencia entre th:utext y th:text es th:text escapa a lt; y gt;, pero th:utext no.
A menudo usamos th:utext para escapar de los atributos lt; y gt;, pero no usaremos th:utext.
A menudo necesitamos mostrar información sobre beans en la página de inicio.
Lo anterior proporciona dos métodos de visualización, uno se muestra a través de ${property} y el otro se muestra a través de {property}.
¿Cuál es la diferencia entre "${property}" y "{property}"?
$ accede a la información completa, mientras que accede al contenido del atributo en el objeto especificado. Si solo se accede al contenido ordinario, no hay diferencia entre los dos
La información correspondiente se proporciona en thymeleaf; Métodos de recopilación, por ejemplo: cuando use la colección List, puede considerar usar el método get() para obtener los datos en el índice especificado, luego, cuando use la colección Set, considerará obtener los datos en el índice especificado.
Cuando usemos una colección de Conjuntos, consideraremos usar contiene() para determinar si existen ciertos datos. Cuando usemos una colección de Mapas, también queremos usar contieneClave() para determinar si existe una determinada clave y usar get() para determinar. si existe una determinada clave. Esta clave obtiene los valores correspondientes que no estaban disponibles antes, veremos cómo utilizar dichas operaciones en las siguientes páginas.
En proyectos web tradicionales, el procesamiento de rutas es un poco problemático, pero SpringBoot nos simplifica el procesamiento de rutas.
También se puede saltar entre páginas a través de @{}
Aunque el uso de objetos integrados no se recomienda en este marco de desarrollo de plantillas, todavía es necesario en muchos casos. Los objetos integrados se utilizan para el procesamiento, así que echemos un vistazo a cómo utilizar los objetos integrados JSP en la página.
thymeleaf tiene en cuenta la situación de desarrollo real, porque los atributos de transferencia de solicitudes son los más utilizados, pero también se pueden utilizar sesiones. Por ejemplo, si el usuario necesita mostrar la ID de usuario después de iniciar sesión. se debe usar la sesión, por lo que ahora se debe aumentar el rango de atributos del formulario para un uso normal. Además, existe soporte para obtener objetos JSP integrados en thymeleaf, pero generalmente no se usa de esta manera.
Todas las plantillas de página tienen varias lógicas subyacentes, como juicio y bucle. En Thymeleaf, puede utilizar los siguientes operadores para implementar la lógica: y, o, comparación relacional (gt;, lt;, gt; =, lt; =, ==,! =, lt, gt, le, ge, eq, nordeste).
Pasar ciertos atributos a la página a través del controlador:
Juicio de condiciones insatisfechas
Realizar juicio de rama a través del interruptor
En En el En el proceso de desarrollo real, a menudo es necesario atravesar datos para mostrarlos. Generalmente, los datos se encapsulan en una lista o mapa y se pasan a la página para la operación transversal.
Por lo general, necesitamos introducir otra página en la página, como una barra de navegación común o una página de pie de página. thymeleaf proporciona dos formas de lograrlo.
Puedes ver que la página también tiene una variable projectName, cuyo valor se puede pasar a través de th: with="projectName=Baidu" en la página de introducción.