Obwohl viele Entwicklungen jetzt ein völlig separates Modell von Front-End und Back-End anwenden, enthält das Back-End nur Datenschnittstellen, und das Front-End erhält Daten über AJAX-Anfragen, für die keine Vorlagenmotor erforderlich ist. Der Vorteil dieser Methode besteht darin, dass die Front- und Rückenenden vollständig getrennt sind, und mit der Verbesserung der Tools für Front-End-Engineering und MVC in den letzten Jahren sind die Wartungskosten dieses Modells relativ niedriger. Dieser Modus ist jedoch nicht für die SEO förderlich und wird in der Leistung etwas schlechter sein. Es gibt auch einige Szenarien, dass die Verwendung der Template -Engine bequemer ist, z. B. E -Mail -Vorlagen. In diesem Artikel wird hauptsächlich die Integration des Spring -Bootes mit Template Engines Thymeleaf, Freemaker und JSP erörtert.
1. Integrieren Sie Thymeleaf
Schritt 1: Führen Sie das JAR -Paket vor (Starter entsprechend Thymeleaf):
<Depopenty> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-thymeleaf </artifactid> </abhängig>
Schritt 2: Thymeleaf konfigurieren:
Feder: Thymeleaf: Präfix: classPath:/templates/check-template- location: true cache: false suffix: .html codierung: utf-8 content-type: text/html modus: html5
Präfix: Geben Sie das Verzeichnis an, in dem sich die Vorlage befindet
Check-Tempate-Location: Überprüfen Sie, ob der Vorlagenpfad vorhanden ist
Cache: Ob eingestuft werden, im Entwicklungsmodus auf False eingestellt werden, vermeiden Sie es, die Vorlage zu ändern und den Server neu zu starten. Wenn Sie es auf True Online setzen, können Sie die Leistung verbessern.
Codierung und Inhaltstyp: Jeder sollte damit vertraut sein, was mit den entsprechenden Attributen übereinstimmt, die in Servlets festgelegt sind.
Modus: Bitte beachten Sie die Anweisungen auf der offiziellen Website, und dies ist 2.x und 3.0. Das in diesem Artikel automatisch eingeführte Paket lautet 2.15.
Der dritte Schritt besteht darin, die Thymeleaf -Vorlagendatei zu schreiben:
<! DocType html> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns: th = "http://www.thymeleaf.org" content="text/html;charset=UTF-8"/></head><body><h6>Thymeleaf Template Engine</h6><table bgcolor="#f0ffff"> <thead> <th>Serial Number</th> <th>Title</th> <th>Summary</th> <th>Creation Time</th> </tr> </tour> <tbody th:each="article : $ {list} "> <tr> <td th: text =" $ {article.id} "> </td> <td th: text =" $ {article.title} "> </td> <td th: text =" $ {artike </tbody> </table> </body> </html>Wie Sie sehen können, ist Thymeleaf relativ einfach und sein größtes Merkmal ist, dass das Tag als Attribut eines HTML -Elements existiert. Das heißt, die Seite kann direkt über den Browser vorschauen, aber es gibt keine Daten. Dies ist für alle sehr bequem zu debuggen.
Schritt 4: Controller konfigurieren:
@Controller @RequestMapping ("/article") Public Class ArticleController {@autowired Private Artikelservice Artikelservice; @RequestMapping ("/articlelist.html") public String getarticlelist (Modellmodell, String -Titel, @RequestParam (defaultValue = "10") Integer pageSize, @RequestParam (defaultValue = "1") Integer pagenum) {int offset = (pageneum - 1) * paggenum) {int offset = (pagenum - 1) * pagent; List <Aktion> list = tectionService.getArticles (Titel, 1L, Offset, PageSize); model.addattribute ("list", list); Rückgabe "Artikel/Articlelist"; }}Beachten Sie, dass die hier verwendete Annotation @Controller, nicht @restController ist, da @restController das Rückgabeergebnis automatisch in eine Zeichenfolge konvertiert.
Schritt 5 Zeigen Sie die Ergebnisse an
2. Integration zwischen Spring Boot und Freemarker
1. Einführung von JAR -Paket (Starter entspricht Freemarker)
<Depopenty> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Freemarker </artifactId> </abhängig>
2. Konfigurieren Sie Freemarker:
Frühling: Freemarker: Template-Loader-Path: ClassPath:/Templates/Suffix: .ftl Content-Type: Text/HTML Charset: UTF-8 Einstellungen: number_format: '0. ##'
Zusätzlich zu Einstellungen ähneln andere Konfigurationsoptionen 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.. Schreiben Sie die Freemarker -Vorlagendatei:
<html> <title>Article List</title><body><h6>Freemarker Template Engine</h6> <table> <thead> <tr> <th>Serial Number</th> <th>Title</th> <th>Summary</th> <th>Creation Time</th> </tr> </thead> <#list list as article> <tr> <td>${article.id}</td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime? String ('yyyy-mm-dd hh: mm: ss')} </td> </tr> </#list> </table> </body> </brodh4. Schreiben Sie Controller:
@Controller @RequestMapping ("/article") Public Class ArticleController {@autowired Private Artikelservice Artikelservice; @RequestMapping ("/list.html") public String getArticles (Modellmodell, String -Titel, @RequestParam (defaultValue = "10") Integer pageSize, ganzzahliges pagenum) {if (pageSize == null) {pageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * pageSize; List <Aktion> list = tectionService.getArticles (Titel, 1L, Offset, PageSize); model.addattribute ("list", list); Rückgabe "Artikel/Liste"; }}5. Besuchen Sie die Seite:
3.. Sring Boot integriert sich in JSP:
In der formalen Projektentwicklung werden JSP -Vorlagen jetzt selten verwendet, sodass Spring Boot JSP nicht sehr gut unterstützt, daher ist es relativ komplizierter zu konfigurieren als Thymeleaf und Freemaker.
Der erste Schritt besteht darin, das JAR -Paket vorzustellen:
<Depepecy> <gruppe> javax.servlet </Groupid> <artifactId> JSTL </artifactId> </abhängig> <depeopentcy> <gruppe> org.apache.tomcat.embed </Groupid> <artifactid> tomcat-embed-jasper </artifactid> </abhängig>
Die erste JSTL -Abhängigkeit wird verwendet, um EL -Ausdrücke zu unterstützen, und die zweite wird zur Unterstützung von JSP verwendet. Beachten Sie, dass Sie, wenn es in externem Tomcat ausgeführt wird, den Geltungsbereich festlegen müssen, um JAR -Paketkonflikte zu verhindern.
Schritt 2: Erstellen Sie das WebApp -Verzeichnis manuell:
Sie müssen im Hauptverzeichnis manuell ein WebApp -Verzeichnis erstellen, wobei die Struktur wie folgt ist:
Schritt 3 JSP Straßenstärkekonfiguration:
Fügen Sie die folgende Konfiguration in application.yml hinzu:
Frühling: MVC: Ansicht: Präfix:/web-inf/jsp/suffix: .jsp
Diejenigen, die das Spring MVC verstehen, sollten mit der obigen Konfiguration vertraut sein.
Schritt 4: Schreiben Sie die JSP -Seite:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html><head> <title>Title</title></head><body> <table> <c:forEach var="article" items = "$ {list}"> <tr> <td> $ {article.id} </td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime} </td> </td> </c: foreach> </td> </td> </td> </c.Schritt 5: Schreiben Sie den Controller:
@RequestMapping ("/listjsp") public String getarticlelistjsp (Modellmodell, String -Titel, @RequestParam (defaultValue = "10") Integer pageSize, ganzzahliges pagenum) {if (pageSize == null) {pageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * pageSize; List <Aktion> list = tectionService.getArticles (Titel, 1L, Offset, PageSize); model.addattribute ("list", list); Rückgabe "Artikel"; }Schritt 6, um auf die Seite der Ergebnisse zuzugreifen:
4. Zusammenfassung
Insgesamt ist Spring Stiefel für die Unterstützung von Thymeleaf und Freemaker freundlich und die Konfiguration ist relativ einfach. In der tatsächlichen Entwicklung basieren die meisten hauptsächlich auf diesen beiden Vorlagenmotoren, und es gibt nur wenige JSPs. JSPs können jetzt während des Experiments oder der Lernphase mehr verwendet werden. Die jSP -Konfiguration ist, dass es nicht wie die ersten beiden ist. Die Online -Anweisung ist im Grunde dasselbe, aber es gibt viele Aussagen zur JSP -Konfiguration, z. B. ob es notwendig ist, das JAR -Paket in ein Kriegspaket zu ändern? Ist die Abhängigkeit von JSP so eingestellt, dass sie usw. bereitstellen. Dies hängt hauptsächlich davon ab, ob Sie das Programm am Ende für externe Tomcat bereitstellen oder das Glas direkt ausführen möchten? Da dieser Artikel die Anwendungsklasse unter Idee direkt ausführt, sind diese Vorgänge nicht erforderlich.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.