2013-07-28 88 views
0

我已經有了這個簡單的go lang web服務器,它只是將一些數據解析爲外部HTML文件並將該文件提供給Web服務器。<!DOCTYPE> html/template

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) 
} 

但每當我嘗試解析與設定的HTML文件,當我離開<!DOCTYPE>出來的解析我的HTML頁的文本在瀏覽器

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

渲染HTML代替它呈現的HTML文件就好了。

有誰能告訴我爲什麼這是因爲我很好奇?我花了兩個小時尋找我的代碼不工作的原因。

回答

2

您的文檔類型聲明不正確,從而產生與所需的相反的效果:它可能被瀏覽器解釋爲表示文檔不是HTML。

使用此:

<!DOCTYPE html> 

reference

+0

就是這樣,我不知何故習慣於不包含「html」部分。非常感謝 – Dani

0

您是否嘗試過在文件中使用DOCTYPE html?