<;!DOCTYPE>;html/模板

<;!DOCTYPE>;html/模板,html,go,Html,Go,我有一个简单的go-lang Web服务器,它除了将一些数据解析成一个外部HTML文件并将该文件提供给Web服务器之外,什么也不做 package main import ( "html/template" "net/http" ) type Event struct { Name string } func handler(w http.ResponseWriter, r *http.Request) { e := Event{ Name: "Melt!

我有一个简单的go-lang Web服务器,它除了将一些数据解析成一个外部HTML文件并将该文件提供给Web服务器之外,什么也不做

package main

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

type Event struct {
    Name string
}

func handler(w http.ResponseWriter, r *http.Request) {
    e := Event{ Name: "Melt! Festival" }
    t, _ := template.ParseFiles("events.html")
    t.Execute(w, e)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":1337", nil)
}
但是,每当我尝试用set解析HTML文件时,它都会将HTML页面解析为文本,而不是在浏览器中呈现HTML

<!DOCTYPE>
<html>
<head>
    <title>Event</title>
</head>
<body>
    <p>
        Event: {{.Name}}
    </p>
</body>
</html>

事件

事件:{{.Name}

当我把
从HTML文件中去掉时,它会很好地呈现出来


谁能告诉我这是因为我很好奇?我花了两个小时搜索我的go代码不起作用的原因。

您的doctype声明不正确,因此产生了与所需声明相反的效果:浏览器可能会将其解释为表示文档不是HTML

使用以下命令:

<!DOCTYPE html>


请参阅。

您尝试过在文件中使用DOCTYPE html吗?

就是这样,我习惯于不包括“html”部分。谢谢