Jsp est la première technologie de modèle, utilisée pour traiter la couche de vue et l'utiliser pour les modèles d'affichage de données

BS structure : #🎜 🎜 #
B : Navigateur : utilisé pour afficher des données, envoyer des requêtes, n'a aucune capacité de traitement
Envoyez une requête pour accéder à a.jsp, et a.jsp devient un Servlet côté serveur. Renvoyez les données de sortie au navigateur, et le navigateur peut voir les données de résultat. Le jsp est finalement traduit en une page html
Avec la technologie des modèles, vous pouvez les utiliser comme remplacements de chaînes, par exemple : Ici {data} il y a une chaîne, vous la remplacez par une valeur fixe ou une autre valeur, mais ce remplacement a des fonctions supplémentaires, traitant le contenu de la couche de vue via la technologie des modèles
# 🎜🎜#
Premier exemple :
pom.xml : Dépendance Thymeleaf :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <?xml version= "1.0" encoding= "UTF-8" ?>
<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.bjpowernode</groupId>
<artifactId>027-thymeleaf-first</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--模板引擎起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--web起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
|
Copier après la connexion
Create Controller Controller : HelloThymeleafController :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package com.bjpowernode.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class HelloThymeleafController {
@RequestMapping( "/hello" )
public String helloThymeleaf(HttpServletRequest request){
request.setAttribute( "data" , "欢迎使用Thymeleaf模板引擎" );
return "hello" ;
}
}
|
Copier après la connexion
templates : utilisé pour stocker les fichiers de vue utilisés par le modèle. Les modèles utilisés par le moteur de modèle sont placés sous le répertoire du modèle :
Create hello.html. :
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset= "UTF-8" >
<title>hello html</title>
</head>
<body>
<h4>使用Thymeleaf的例子</h4>
<!--使用模板th:text= "" 获取数据-->
<p th:text= "${data}" >想显示数据</p>
</body>
</html>
|
Copier après la connexion
Exécutez la classe de démarrage principale Application :
1 2 3 4 5 6 7 8 9 | package com.bjpowernode;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application. class , args);
}
}
|
Copier après la connexion
peut être ajouté à hello.html : Non résolu dans la balise, et lors de l'écriture Il n'y a pas de message d'invite#🎜🎜 #
xmlns:th="http://www.thymeleaf.org" Dans la balise, lorsque vous écrivez à nouveau th, il y aura un enregistrement rapide
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE html>
<html lang= "en" xmlns:th= "http://www.thymeleaf.org" >
<head>
<meta charset= "UTF-8" >
<title>hello html</title>
</head>
<body>
<h4>使用Thymeleaf的例子</h4>
<!--使用模板th:text= "${data}" 获取后端request的作用域中的数据,把data数据替换文本,text表示取数据-->
<p th:text= "${data}" >想显示数据</p>
<p th:text= "${data}" >显示</p>
</body>
</html>
|
Copier après la connexion
# 🎜🎜## 🎜🎜#
Utiliser le modèle :
Dans le contrôleur : 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package com.bjpowernode.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
@Controller
public class HelloThymeleafController {
@RequestMapping( "/hello" )
public String helloThymeleaf(Model model, HttpServletRequest request){
request.setAttribute( "data" , "欢迎使用Thymeleaf模板引擎" );
model.addAttribute( "mydata" , "model中的数据" );
return "hello" ;
}
}
|
Copier après la connexion
hello.html:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE html>
<html lang= "en" xmlns:th= "http://www.thymeleaf.org" >
<head>
<meta charset= "UTF-8" >
<title>hello html</title>
</head>
<body>
<h4>使用Thymeleaf的例子</h4>
<!--使用模板th:text= "${data}" 获取后端request的作用域中的数据,把data数据替换文本,text表示取数据-->
<p th:text= "${data}" >想显示数据</p>
<p th:text= "${mydata}" >显示</p>
</body>
</html>
|
Copier après la connexion
#🎜🎜 ##🎜🎜 #
fichier de configuration speingboot application.properties : Paramètres associés couramment utilisés du moteur de modèle, pratiquement aucun paramètre n'est par défaut :
# Pendant la phase de développement, fermez le modèle Envoyer le cache pour que les modifications prennent effet immédiatement. Lorsqu'il est défini sur true, le cache du modèle est utilisé lors du deuxième accès, les données en mémoire sont utilisées et le modèle n'est plus analysé.
spring.thymeleaf.cache= false#🎜🎜 ##Format d'encodage
spring.thymeleaf.encoding=UTF-8
#Le type de modèle (la valeur par défaut est html, le modèle est un fichier html qui prend non seulement en charge les pages Web comme modèles mais prend également en charge d'autres catégories)
spring.thymeleaf.model=HTML
#Le préfixe du modèle : la valeur par défaut est le chemin de classe du répertoire classpath:/templates
spring.thymeleaf.prefix= chemin de classe:/templates/#Suffix#🎜 🎜#spring.thymeleaf.suffix=.html
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!