Modèle Golang HTML

Modèle Golang HTML
Le package GO HTML / Template fournit des outils et des fonctions pour travailler avec le langage des modèles dans des documents HTML. Les modèles HTML sont une fonctionnalité étendue qui vous permet d'ajouter des données dynamiques de la langue backend à l'avant.

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 end

La 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 end

Le 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 principal
importer (
"Html / modèle"
"enregistrer"
"OS"
)
Tapez les utilisateurs struct
Chaîne de nom d'utilisateur
Bool expiré

Type d'info struct
Chaîne de sitetitle
Données [] utilisateurs

func main ()
var temp = '





.Titre du site




    gamme. données
    si .expiré
  • .article

  • autre
  • .article




'
// modèle d'analyse
t, err: = modèle.Nouveaux utilisateurs").Parse (temp)
Si err != nil
enregistrer.Fatal (euh)

Données: = info
Sitetitle: "Templage HTML",
Données: [] utilisateurs
Nom d'utilisateur: "username1", expiré: true,
Nom d'utilisateur: "username2", expiré: false,
,

t.Exécuter (OS.Stdout, données)

Les 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.