2013-07-28 89 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?