HTML /模板

时间:2013-07-28 17:22:18

标签: html5 go

我有一个简单的go lang webserver,除了将一些数据解析为外部HTML文件并将该文件提供给网络服务器之外,它什么都不做。

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-page解析为文本,而不是在浏览器中呈现HTML

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

当我将<!DOCTYPE>从HTML文件中删除时,它就会很好地呈现。

谁能告诉我为什么这是因为我真的很好奇?我花了两个小时搜索我的代码无法正常工作的原因。

2 个答案:

答案 0 :(得分:2)

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

使用此:

<!DOCTYPE html>

请参阅reference

答案 1 :(得分:0)

您是否尝试在文件中使用DOCTYPE html?

相关问题