Modello GOlang HTML

Modello GOlang HTML
Il pacchetto GO HTML/Template fornisce strumenti e funzioni per lavorare con il linguaggio del modello nei documenti HTML. Il modello HTML è una funzionalità ampia che consente di aggiungere dati dinamici dal linguaggio back-end al front-end.

A differenza del pacchetto Testo/HTML in GO, il pacchetto HTML/Template pulisce i dati e sfugge a tutti gli ingressi prima di eseguirli sul lato client. Ciò impedisce difetti di sicurezza tale iniezione di codice utilizzando lo scripting del sito incrociato.

Componenti di un modello

Un modello è costituito da tre componenti principali.

Azioni

Le valutazioni dei dati si riferiscono a funzioni, loop e valutazioni dei dati. Sono indicati dall'uso di doppie parentesi graffe come . Un elemento punto all'interno di un modello rappresenta l'elemento radice. Usando le azioni del modello, è possibile determinare l'output finale in base a un'espressione specifica.

Condizioni

Puoi anche includere se ... altrimenti costrutti in un modello. Un esempio di se ... altrimenti che controlla un modello è come mostrato:

Se .condizione // Esegui questo else if .condizione // Esegui questo blocco else // run me end

La sintassi sopra eseguirà il primo blocco se la prima condizione è vera, altrimenti, controlla la condizione 2 e se vera, eseguire il secondo blocco. Se nessuno è vero, esegui il blocco altro.

Loop

I loop sono anche supportati all'interno di un modello. Ad esempio, puoi iterare su una fetta all'interno di un modello come mostrato:

allineare .var // do else // do end

Il var può essere qualsiasi tipo iterabile come un array, una fetta o una mappa.

Modello di golang hmtl

Lavorare con i modelli in HTML è molto semplice. È possibile utilizzare i costrutti modello discussi sopra per determinare come inserire i dati.

Ad esempio, possiamo creare un elenco e iterare su ogni elemento nell'elenco. Possiamo quindi passare tali informazioni al modello HTML per visualizzare l'attuale sul lato client.

Un esempio è come mostrato di seguito:

Pacchetto principale
importazione (
"HTML/TEMPLATE"
"tronco d'albero"
"OS"
)
tipo utenti struct
Nome utente stringa
Bool scaduto

Digitare le informazioni struct
String sitetitle
Data [] Utenti

func main ()
var temp = '





.SiteTitle




    allineare. dati
    Se .scaduto
  • .articolo

  • altro
  • .articolo




'
// Modello di analizza
t, err: = template.Nuovi utenti").Parse (temp)
Se err != nil
tronco d'albero.Fatale (err)

data: = info
SiteTitle: "Modello HTML",
Dati: [] utenti
Nome utente: "nome utente1", scaduto: vero,
Nome utente: "Username2", scaduto: false,
,

T.Eseguire (sistema operativo.Stdout, dati)

Gli esempi di cui sopra utilizzano HTML/modello per iniettare dati dalla struttura al modello HTML.

Chiusura

Questa guida illustra come utilizzare il pacchetto HTML/Template per iniettare contenuti dinamici nel file HTML. Dai un'occhiata al pacchetto HTML/Template per saperne di più.