Maison > Java > javaDidacticiel > Analyse d'un exemple de moteur de modèle SpringBoot Thymeleaf

Analyse d'un exemple de moteur de modèle SpringBoot Thymeleaf

WBOY
Libérer: 2023-05-12 17:28:06
avant
1468 Les gens l'ont consulté

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

Analyse dun exemple de moteur de modèle SpringBoot Thymeleaf

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

# 🎜🎜#Analyse dun exemple de moteur de modèle SpringBoot ThymeleafPremier exemple :

Analyse dun exemple de moteur de modèle SpringBoot Thymeleafpom.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>
Copier après la connexion

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";
    }
}
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. :

<!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 :

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

<!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 : Analyse dun exemple de moteur de modèle SpringBoot Thymeleaf

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";
    }
}
Copier après la connexion

hello.html:

<!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'encodageAnalyse dun exemple de moteur de modèle SpringBoot Thymeleafspring.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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal