indexHandler工作完美! writeHandler - 回复我的空白页面。模板是一样的。无法理解问题所在。请检查以下代码
func indexHandler(w http.ResponseWriter, r *http.Request) {
t, err := template.ParseFiles("templates/index.html", "templates/header.html", "templates/footer.html")
if err != nil {
fmt.Fprintf(w, err.Error())
}
t.ExecuteTemplate(w, "index", nil)
}
func writeHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf((w), "write")
t, err := template.ParseFiles("templates/write.html", "templates/header.html", "templates/footer.html")
if err != nil {
fmt.Fprintf(w, err.Error())
}
t.ExecuteTemplate(w, "write", nil)
}
func main() {
http.HandleFunc("/", indexHandler)
http.HandleFunc("/write", writeHandler)
http.ListenAndServe(":3000", nil)
}
write.html看起来像
{{ define "write" }}
{{ template "header" }}
<h1>It works!</h1>
{{ template "footer" }}
{{ end }}
头:
{{ define "header" }}
<!DOCTYPE html>
<html>
<head>
<body>
<h1>HEADER</h1>
{{ end }}
页脚:
{{ define "footer" }}
</body>
</html>
{{ end }}
源代码树:
templates
---header.html
---index.html
---footer.html
---write.html