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 traitementEnvoyez 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 htmlAvec 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 :
<?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>
Create Controller Controller : HelloThymeleafController :
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作用域,模板引擎可以从request中获取数据 request.setAttribute("data","欢迎使用Thymeleaf模板引擎"); //指定视图 模板引擎使用的页面(html) //逻辑名称 return "hello"; } }
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. :
<!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>
Exécutez la classe de démarrage principale Application :
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); } }
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<!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>
Utiliser le modèle :
Dans le contrôleur :
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作用域,模板引擎可以从request中获取数据 request.setAttribute("data","欢迎使用Thymeleaf模板引擎"); //使用model和request作用域是一样的 实际上model中的数据就是放到request作用域中的 model.addAttribute("mydata","model中的数据"); //指定视图 模板引擎使用的页面(html) //逻辑名称 return "hello"; } }
<!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>
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'encodagespring.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:/templatesspring.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!