我正在遵循 Pluralsight 的教程并完全按照它所说的去做,编译甚至可以工作,但是在浏览器上刷新页面时,应用程序会出现混乱并在控制台上输出错误,并且 http 服务器无法按预期工作。产生这个错误的src代码如下:package mainimport ( "net/http" "text/template")func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { w.Header().Add("Content Type", "text/html") templates := template.New("template") templates.New("test").Parse(doc) templates.New("header").Parse(header) templates.New("footer").Parse(footer) context := Context{ [3]string{"Lemon", "Orange", "Apple"}, "the title", } templates.Lookup("test").Execute(w, context) }) http.ListenAndServe(":80", nil)}const doc = `{{template "header" . Title}} <body> <h1>List of Fruit</h1> <ul> {{range .Fruit}} <li>{{.}}</li> {{end}} </ul> </body>`const header = `<!DOCTYPE html><html> <head><title>{{.}}</title></head>`const footer = `</html>`type Context struct { Fruit [3]string Title string}
1 回答
MYYA
TA贡献1868条经验 获得超4个赞
你忽略了返回的错误Parse
。如果你没有,你会看到这个:
template: test:2: function "Title" not defined
您的模板不正确,因此Lookup("test")
返回nil
。
{{template "header" . Title}}
应该
{{template "header" .Title}}
点后没有空格。
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消