Heim > Backend-Entwicklung > Golang > Rendern Sie Vorlagen mit der Funktion html/template.Execute in der Go-Sprachdokumentation

Rendern Sie Vorlagen mit der Funktion html/template.Execute in der Go-Sprachdokumentation

王林
Freigeben: 2023-11-03 13:44:11
Original
1637 Leute haben es durchsucht

Rendern Sie Vorlagen mit der Funktion html/template.Execute in der Go-Sprachdokumentation

Verwenden Sie die Funktion html/template.Execute in der Go-Sprachdokumentation, um die Vorlage zu rendern.

Bei der Entwicklung von Webanwendungen ist die Template-Engine ein sehr wichtiger Bestandteil. Die Template-Engine kann die endgültige HTML-Seite ausgeben, indem sie die Template-Datei mit den Daten zusammenführt. Gleichzeitig kann die Template-Engine dynamische Daten von HTML-Seiten trennen, wodurch die Anwendung einfacher zu pflegen und zu erweitern ist. Die Template-Engine der Go-Sprache ist sehr leistungsfähig und wird häufig in tatsächlichen Projekten verwendet.

Die Go-Sprache bietet viele leistungsstarke Vorlagen-Engines, von denen die am häufigsten verwendete die HTML/Template-Vorlagen-Engine ist. Sein Vorteil besteht darin, dass es Cross-Site-Scripting-Angriffe gut vermeiden kann und seine Verwendung relativ einfach und leicht zu beherrschen ist.

In diesem Artikel wird anhand eines konkreten Beispiels gezeigt, wie die Funktion html/template.Execute zum Rendern einer Vorlage verwendet wird.

Beispielbeschreibung:

Wir gehen von einer einfachen Anwendung aus. In dieser Anwendung müssen wir die Daten in der vom Benutzer übermittelten Form in der Datenbank speichern und eine Antwortseite ausgeben. Für diese Antwortseite gelten folgende Anforderungen:

  1. Anzeige der vom Benutzer übermittelten Daten;
  2. Anzeige einer Aufforderungsmeldung für die erfolgreiche Übermittlung.

Um den oben genannten Zweck zu erreichen, müssen wir zunächst eine HTML-Vorlage wie unten gezeigt erstellen:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>提交成功</title>
</head>
<body>
<h2>您提交的数据如下:</h2>
<p>姓名: {{.Name}}</p>
<p>性别: {{.Gender}}</p>
<p>年龄: {{.Age}}</p>
<h3>提交成功!</h3>
</body>
</html>
Nach dem Login kopieren

In der obigen HTML-Vorlage haben wir {{.Name}}, {{.Gender}} und {{ . Alter}} Diese drei Variablen werden beim Rendern der Vorlage durch vom Benutzer übermittelte Daten ersetzt.

Sehen wir uns an, wie Sie die Funktion html/template.Execute in der Go-Sprache zum Rendern von Vorlagen verwenden.

package main

import (
    "html/template"
    "net/http"
)

type UserInfo struct {
    Name   string
    Gender string
    Age    int
}

func main() {
    http.HandleFunc("/", handleRequest)
    http.ListenAndServe(":8888", nil)
}

func handleRequest(w http.ResponseWriter, r *http.Request) {
    if r.Method == "POST" {
        // 解析表单数据
        r.ParseForm()
        // 获取表单数据
        name := r.FormValue("name")
        gender := r.FormValue("gender")
        age := r.FormValue("age")

        // 生成数据模型
        userInfo := UserInfo{
            Name:   name,
            Gender: gender,
            Age:    age,
        }

        // 解析模板文件
        tmpl, err := template.ParseFiles("template.html")
        if err != nil {
            http.Error(w, err.Error(), http.StatusInternalServerError)
            return
        }

        // 将数据和模板渲染
        err = tmpl.Execute(w, userInfo)
        if err != nil {
            http.Error(w, err.Error(), http.StatusInternalServerError)
        }
        return
    }

    // 读取表单页面
    http.ServeFile(w, r, "form.html")
}
Nach dem Login kopieren

Im obigen Code definieren wir zunächst eine UserInfo-Struktur, die die vom Benutzer übermittelten Daten enthält. Bestimmen Sie in der Funktion handleRequest zunächst, ob es sich um eine POST-Anfrage handelt. Analysieren Sie zunächst die Formulardaten, generieren Sie dann ein UserInfo-Datenmodell und rendern Sie es zusammen mit der Vorlagendatei, um die endgültige HTML-Seite zu generieren.

Beim Rendern der Vorlage laden wir zunächst unsere Vorlagendatei über die Funktion template.ParseFiles und rufen dann die Funktion tmpl.Execute auf, um die Daten und die Vorlage für die Ausgabe zusammenzuführen. Wenn beim Rendern der Vorlage ein Fehler auftritt, verwenden wir die Funktion http.Error, um die Fehlermeldung an den Client zurückzugeben.

Wenn es sich schließlich nicht um eine POST-Anfrage handelt, lesen wir die Formularseite (form.html) und senden sie an den Kunden zurück.

Zusammenfassung:

Anhand des obigen Codebeispiels können wir sehen, dass es sehr einfach ist, eine Vorlage mit der Funktion html/template.Execute zu rendern. Führen Sie einfach das Datenmodell und die Vorlagendateien zusammen und geben Sie dann die endgültige HTML-Seite über die Funktion „Ausführen“ aus.

Die Verwendung der HTML/Template-Template-Engine kann als sehr einfach und flexibel bezeichnet werden. Als plattformübergreifende Anwendungsentwicklungssprache ist auch das Design der Go-Sprache in Bezug auf Template-Engines sehr gut. Unabhängig davon, ob Sie eine leistungsstarke Website oder einige kleine Anwendungen entwickeln, ist die Verwendung der HTML/Template-Template-Engine eine gute Wahl.

Das obige ist der detaillierte Inhalt vonRendern Sie Vorlagen mit der Funktion html/template.Execute in der Go-Sprachdokumentation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage