Contrairement au package Text / HTML en Go, le package HTML / Template nettoie les données et échappe à toutes les entrées avant de l'exécuter du côté client. Cela empêche les défauts de sécurité une telle injection de code à l'aide de scripts de site croisé.
Composants d'un modèle
Un modèle est composé de trois composants principaux.
Actions
Les évaluations des données se réfèrent aux fonctions, aux boucles et aux évaluations des données. Ils sont désignés par l'utilisation de contreventements doubles comme . Un élément de point à l'intérieur d'un modèle représente l'élément racine. En utilisant des actions de modèle, vous pouvez déterminer la sortie finale en fonction d'une expression spécifique.
Conditions
Vous pouvez également inclure si… Else construit dans un modèle. Un exemple de si… else vérifiez un modèle est comme indiqué:
si .condition // exécuter ceci else si .Condition // Exécutez ce bloc else // exécutez-moi endLa syntaxe ci-dessus exécutera le premier bloc si la première condition est vraie, sinon, vérifiez la condition 2 et si elle est vraie, exécutez le deuxième bloc. Si aucun n'est vrai, exécutez le bloc else.
Boucles
Les boucles sont également prises en charge à l'intérieur d'un modèle. Par exemple, vous pouvez parcourir une tranche à l'intérieur d'un modèle comme indiqué:
gamme .var // do else // do endLe VAR peut être n'importe quel type itérable tel qu'un tableau, une tranche ou une carte.
Modèle de Golang HMTL
Travailler avec des modèles en HTML est très simple. Vous pouvez utiliser les constructions de modèle discutées ci-dessus pour déterminer comment vous pouvez insérer les données.
Par exemple, nous pouvons créer une liste et itérer sur chaque élément de la liste. Nous pouvons ensuite transmettre ces informations au modèle HTML pour afficher le côté client réel.
Un exemple est comme indiqué ci-dessous:
package principalLes exemples ci-dessus utilisent HTML / modèle pour injecter des données de la structure au modèle HTML.
Fermeture
Ce guide illustre comment utiliser le package HTML / modèle pour injecter du contenu dynamique dans le fichier HTML. Consultez le package HTML / Template pour en savoir plus.