我有一个类似email.html
:的html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Shareholder</title>
</head>
<body>
<h1> {{.PageTitle}} </h1>
</body>
</html>
我这样称呼:
func main() {
theTemplateHTML, err := template.New("").ParseFiles("./pkg/template/email.html")
if err != nil {
log.Fatal(err)
}
log.Println(theTemplateHTML)
type Email struct {
PageTitle string
}
var email Email
email = Email{
PageTitle: "Hello Word",
}
err = theTemplateHTML.Execute(os.Stdout, &email)
if err != nil {
log.Fatal(err)
}
log.Println(theTemplateHTML)
}
第一个日志上的输出是&{<nil> 0xc0000b0080 <nil> 0xc0000d0050}
我得到的最后一个日志错误是这样的template: "" is an incomplete or empty template
这是html的输出吗?以及我如何用stuct在那个html中定义{{.PageTitle}}
??
如何纠正在该html中定义结构的方式,并能够通过字符串查看结果,因为我希望该模板是字符串?
您不需要template.New("")
调用。template.ParseFiles("./pkg/template/email.html")
将起作用。
编辑:您还需要删除最后一行log.Println
。