In diesem Artikel wird Spring Boot und Kotlin vorgestellt, um Webansichten mithilfe der Thymeleaf -Vorlage -Engine zu rendern.
Statischer Ressourcenzugriff
Wenn wir Webanwendungen entwickeln, müssen wir auf eine große Anzahl statischer Ressourcen wie JS, CSS und Bilder verweisen. Wie unterstütze ich diese statischen Ressourcen mit Spring Boot und Kotlin? , sehr einfach.
Standardkonfiguration
Spring Boot bietet standardmäßig statische Ressourcenverzeichnisorte und muss unter Klassenpfad platziert werden. Der Verzeichnisname muss den folgenden Regeln entsprechen:
/static/public/ressourcen/meta-inf/ressourcen
Zum Beispiel: Wir können statisch im Verzeichnis SRC/Main/Ressourcen/Ressourcen/Ressourcen erstellen und an diesem Ort eine Bilddatei platzieren. Versuchen Sie nach Beginn des Programms, auf http: // localhost: 8080/ruby.jpg zuzugreifen. Wenn das Bild angezeigt werden kann, ist die Konfiguration erfolgreich.
Rendern einer Webseite
Zuvor wurde die Anfrage über @RestController bearbeitet, und der zurückgegebene Inhalt war ein JSON -Objekt. Wenn Sie eine HTML -Seite rendern müssen, wie implementieren Sie sie?
Template Engine
Unter der von Spring Boot empfohlenen Template Engine können wir schnell mit der Entwicklung dynamischer Websites beginnen.
Spring Boot bietet Standard -Konfigurationsvorlagenmotoren mit den folgenden Haupttypen:
ThymeleapreemarkerGroovymustache
Spring Boot empfiehlt die Verwendung dieser Vorlagenmotoren, um die Verwendung von JSP zu vermeiden. Wenn Sie JSP verwenden müssen, können Sie verschiedene Funktionen von Spring Boot nicht implementieren. Details finden Sie im folgenden Text: Unterstützung der JSP -Konfiguration.
Wenn Sie die obigen Vorlagenmotoren verwenden, lautet der Konfigurationspfad für Vorlagen: SRC/Main/Ressourcen/Vorlagen. Natürlich kann dieser Weg auch geändert werden. Details können Sie in den Konfigurationseigenschaften der nachfolgenden Vorlagenmotoren abfragen und ändern.
Thymeleaf
Thymeleaf ist eine XML/XHTML/HTML5-Template-Engine, die sowohl für die Anwendungsentwicklung in Web- als auch in Nicht-Web-Umgebungen verwendet werden kann. Es handelt sich um eine Open -Source -Java -Bibliothek, die auf der Apache -Lizenz 2.0 -Lizenz basiert und von Daniel Fernández, dem Autor der Java Encryption Library Jasypt, erstellt wurde.
Thymeleaf bietet ein optionales Modul zur Integration von Feder -MVC. In der Anwendungsentwicklung können Sie Thymeleaf verwenden, um JSP oder andere Vorlagenmotoren wie Freemarker usw. vollständig zu ersetzen. Das Hauptziel von Thymeleaf besteht darin, eine gut geformte Vorlagenerstellungsmethode bereitzustellen, die vom Browser korrekt angezeigt werden kann und daher auch als statische Modellierung verwendet werden kann. Sie können es verwenden, um validierte XML- und HTML -Vorlagen zu erstellen. Im Vergleich zum Schreiben von Logik oder Code müssen Entwickler der Vorlage lediglich Tag -Attribute hinzufügen. Als nächstes führen diese Tag-Eigenschaften eine vorgeformte Logik im DOM (Dokumentobjektmodell) aus.
Beispielvorlage:
<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello Welt </h1> </body> </html>Es ist ersichtlich, dass Thymeleaf in Form von Attributen hauptsächlich dem HTML -Tag hinzugefügt wird. Wenn der Browser das HTML analysiert, wird er ignoriert, wenn er überprüft, ob es kein Attribut gibt. Daher kann Thymeleafs Vorlage direkt über den Browser aufgezeichnet werden, was für die Trennung der vorderen und hinteren Enden sehr förderlich ist.
Um Thymeleaf im Spring Boot zu verwenden, müssen Sie nur die folgenden Abhängigkeiten einführen und die Vorlagendatei unter den Standard -Vorlagenpfad SRC/Main/Ressourcen/Vorlagen schreiben, um sie zu vervollständigen.
Kompilieren Sie "org.springframework
Geben Sie nach Abschluss der Konfiguration ein einfaches Beispiel an, basierend auf dem Schnellstartprojekt ein einfaches Beispiel, um eine Seite über Thymeleaf zu rendern.
import org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmaping/*** Erstellt von http://quanke.name 2018/1/10. */ @ControllerClass HelloConTroller {@RequestMapPing ("/") Fun Index (Map: modelMap): String {// ein Attribut hinzufügen, um map.addattribute ("Host", "http://quanke.name") in der Vorlage // Index der Name der Return -Templat -Datei, entsprechend Src/Main/Ressourcen/Ressourcen/trengle/trencles/trencles, der Namen der Rückkehr -Template, zu SRC/Main/Ressourcen/Ressourcen/Ressourcen/Ressourcen/Ressourcen: }}Fügen Sie standardmäßig die Datei index.html in das Verzeichnis src/main/ressourcen/templates hinzu.
<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello Welt </h1> </body> </html>Fügen Sie die Spring -Boot -Start -Methode hinzu, die mit der Kotlin -Sprache implementiert wurde:
import org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootApplication/*** Erstellt von http://quanke.name am 2018/1/9. */@SpringbootApplicationClass applicationFun main (Args: Array <string>) {SpringApplication.run (application :: class.java, *args)}Wie auf der obigen Seite gezeigt, können Sie die HTML -Seite direkt öffnen, um die Hello World anzuzeigen. Nach dem Start des Programms besuchen Sie jedoch http: // localhost: 8080/, die den Hostwert im Controller anzeigt: http://quanke.name, die die logische Trennung von Daten schafft, ohne die eigenen Inhalte des HTML zu zerstören.
Weitere Informationen zu Thymeleafs Seitensyntax finden Sie in der offiziellen Dokumentation von Thymeleaf zum Abfragen.
Thymeleaf Standard Parameter -Konfiguration
Wenn Sie die Standardkonfiguration ändern müssen, kopieren Sie einfach die Attribute, die Sie unten in application.yml ändern möchten, und ändern Sie sie auf den erforderlichen Wert, z.
# Template Caching.spring.Thymeleaf.cache = true # Überprüfen Sie, ob der Standort der Vorlagen existiert. coding.spring.thymeleaf.encoding = utf-8 # Comma-getrennte Liste von Ansichtsnamen, die von der Auflösung ausgeschlossen werden sollten. Siehe auch StandardTemPlateModeHandlers.spring.Thymeleaf.mode = html5 # Präfix, das darauf vorbereitet wird, Namen beim Erstellen einer URL.spring.Thymeleaf.prefix = classPath:/ templates/ # Suffix zu erstellen, die Namen beim Erstellen einer URL.spring.Thymeleaf.suffix =. Spring.Thymeleaf.Template-Resolver-Ordnung = # Reihenfolge des Vorlagenresolvers in der Kette. Spring.Thymeleaf.view-names = # Comma-getrennte Liste der Ansichtsnamen, die gelöst werden können.
Testumgebung oder Entwicklungsumgebung, um unerwartete Probleme zu vermeiden. Allgemeine Einstellungen: Spring.Thymeleaf.cache = true
Unterstützen Sie die JSP -Konfiguration
Spring Boot wird nicht empfohlen, aber wenn Sie es verwenden müssen, können Sie dieses Projekt als Gerüst: JSP -Support bezeichnen
Im Allgemeinen unterstützt Kotlin Spring Boot sehr gut. Sie müssen Spring Boot in Java nur verwenden und in Kotlin übersetzen.
Zusammenfassen
Die oben genannte Methode zur Verwendung der Thymeleaf -Vorlage -Engine, um Webansichten mit Spring Boot und Kotlin zu rendern, die Ihnen vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!