Cet article présente Spring Boot et Kotlin pour rendre les vues Web à l'aide du moteur de modèle Thymeleaf.
Accès aux ressources statiques
Lorsque nous développons des applications Web, nous devons faire référence à un grand nombre de ressources statiques telles que JS, CSS et images. Comment prendre en charge ces ressources statiques à l'aide de Spring Boot et Kotlin? , très simple.
Configuration par défaut
Spring Boot fournit des emplacements de répertoire de ressources statiques par défaut et doit être placé sous ClassPath, et le nom du répertoire doit respecter les règles suivantes:
/ statique / public / ressources / méta-infr / ressources
Par exemple: nous pouvons créer des statiques dans le SRC / Main / Resources / Directory et placer un fichier image à cet endroit. Après avoir démarré le programme, essayez d'accéder à http: // localhost: 8080 / ruby.jpg. Si l'image peut être affichée, la configuration sera réussie.
Rendre une page Web
Auparavant, la demande a été traitée via @RestController, et le contenu renvoyé était un objet JSON. Si vous avez besoin de rendre une page HTML, comment l'implémenter?
Moteur de modèle
Sous le modèle de moteur recommandé par Spring Boot, nous pouvons rapidement commencer par le développement de sites Web dynamiques.
Spring Boot fournit des moteurs de modèle de configuration par défaut avec les principaux types suivants:
Thymelaffremarkergroovystache
Spring Boot recommande d'utiliser ces moteurs de modèle pour éviter d'utiliser JSP. Si vous devez utiliser JSP, vous ne pourrez pas implémenter diverses fonctionnalités de Spring Boot. Pour plus de détails, vous pouvez voir le texte suivant: Prise en charge de la configuration JSP.
Lorsque vous utilisez l'un des moteurs de modèle ci-dessus, leur chemin de configuration de modèle par défaut est: SRC / Main / Resources / Modèles. Bien sûr, ce chemin peut également être modifié. Pour plus de détails, vous pouvez interroger et le modifier dans les propriétés de configuration des moteurs de modèle suivants.
Thyleleaf
Thymeleaf est un moteur de modèle XML / XHTML / HTML5 qui peut être utilisé pour le développement d'applications dans les environnements Web et non Web. Il s'agit d'une bibliothèque Java open source basée sur la licence Apache Licence 2.0 et a été créée par Daniel Fernández, l'auteur de la bibliothèque de cryptage Java Jasypt.
Thymeleaf fournit un module en option pour intégrer le Spring MVC. Dans le développement d'applications, vous pouvez utiliser le thymeleaf pour remplacer complètement JSP ou d'autres moteurs de modèle, tels que Freemarker, etc. L'objectif principal de Thymeleaf est de fournir une méthode de création de modèle bien formée qui peut être affichée correctement par le navigateur, et peut donc également être utilisée comme modélisation statique. Vous pouvez l'utiliser pour créer des modèles XML et HTML validés. Par rapport à l'écriture de la logique ou du code, les développeurs doivent simplement ajouter des attributs de balise au modèle. Ensuite, ces propriétés de balise exécutent une logique préformée sur le DOM (modèle d'objet de document).
Exemple de modèle:
<! Doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head Lang = "en"> <meta charset = "utf-8" /> <title> quanke.name </t titre> </-head> <body> <h1 th: Text = " Monde </h1> </ body> </html>
On peut voir que le thymeleaf est principalement ajouté à la balise HTML sous forme d'attributs. Lorsque le navigateur analyse le HTML, il l'ignorera lorsqu'il vérifie qu'il n'y a pas d'attribut. Par conséquent, le modèle de Thymeleaf peut être directement enregistré via le navigateur, ce qui est très propice à la séparation des extrémités avant et arrière.
Pour utiliser le thymeleaf dans Spring Boot, il vous suffit d'introduire les dépendances suivantes et d'écrire le fichier de modèle sous le chemin du modèle par défaut SRC / Main / Resources / Modèles pour le terminer.
compiler "org.springframework.boot: printemps-boot-starter-thymeleaf: $ printemps_boot_version"
Après avoir terminé la configuration, donnez un exemple simple, sur la base du projet de démarrage rapide, donnez un exemple simple pour rendre une page via Thymeleaf.
Importer org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping / ** * créé par http://quanke.name le 2018/1/10. * / @ ControperClass HelloController {@RequestMapping ("/") Fun Index (Map: ModelMap): String {// Ajouter un attribut pour lire map.addattribute ("host", "http://quanke.name") dans le modèle // le nom du fichier de retour "Retour" Retour "Retour" }}Par défaut, ajoutez le fichier index.html dans le répertoire SRC / Main / Resources / Templates.
<! Doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head Lang = "en"> <meta charset = "utf-8" /> <title> quanke.name </t titre> </-head> <body> <h1 th: Text = " Monde </h1> </ body> </html>
Ajoutez la méthode de démarrage de Spring Boot implémentée à l'aide de la langue Kotlin:
import org.springframework.boot.springApplicationImport org.springframework.boot.autoconfigure.springbootapplication / ** * créé par http://quanke.name le 2018/1/9. * / @ SpringbootApplicationClass ApplicationFun Main (Args: Array <string>) {SpringApplication.run (application :: class.java, * args)}Comme indiqué dans la page ci-dessus, vous pouvez ouvrir directement la page HTML pour afficher Hello World, mais après avoir commencé le programme, visitez http: // localhost: 8080 /, qui montre la valeur de l'hôte dans le contrôleur: http://quanke.name, qui atteint la séparation logique des données sans détruire le contenu du HTML.
Pour plus de syntaxe de la page de Thymeleaf, veuillez visiter la documentation officielle de Thymeleaf pour l'interrogation.
Configuration du paramètre par défaut de thymeleaf
Si vous devez modifier la configuration par défaut, copiez simplement les attributs que vous souhaitez modifier ci-dessous en application.yml et modifiez-les dans la valeur requise, tels que la modification de l'extension du fichier de modèle, la modification du chemin de modèle par défaut, etc.
# Activer le modèle caching.spring.thymeleaf.cache = true # vérifiez que l'emplacement des modèles existe Encoding.spring.thymeleaf.encoding = UTF-8 # Liste des noms de vue séparés par des virgules qui doit être exclue de la résolution.spring.thymeleaf.Excluded-View-names = # Modèle Mode à appliquer aux modèles. Voir aussi StandardTemplateModeHandlers.Spring.ThyMeleaf.Mode = Html5 # Prefix qui est admis aux noms lors de la création d'un suffix URL.Sprix qui est appris pour visualiser les noms lors de la construction d'un url.spring.thymeleaf.Suffix = .html printemps.thymeleaf.emplate-resolver-ordre = # ordre du modèle de résolveur dans la chaîne. printemps.thymeleaf.view-names = # Liste des noms de vue séparés par des virgules qui peuvent être résolus.
Test de l'environnement ou de l'environnement de développement pour éviter des problèmes inattendus. Paramètres généraux: printemps.thymeaf.cache = true
Prise en charge de la configuration JSP
Spring Boot n'est pas recommandé, mais si vous devez l'utiliser, vous pouvez vous référer à ce projet comme un échafaudage: support JSP
En général, Kotlin prend très bien en charge Spring Boot. Il vous suffit d'utiliser Spring Boot en Java et de le traduire en Kotlin.
Résumer
Ce qui précède est la méthode d'utilisation du moteur de modèle Thymeleaf pour rendre les vues Web par Spring Boot et Kotlin présentées. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!