我想将模板呈现给浏览器。但是,没有任何显示。 这是我正在运行的代码, main.go :
package main
import (
"html/template"
"net/http"
"log"
)
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", home)
log.Fatal(http.ListenAndServe("0.0.0.0:8000", mux))
}
func home(w http.ResponseWriter, r *http.Request) {
data := pageData{"MyTabTitle", "MyPageName"}
tmpl := template.Must(template.ParseFiles("base.html"))
tmpl.Execute(w, data)
}
type pageData struct {
tabTitle, pageName string
}
在同一目录中,我还有 base.html -文件
<!doctype html>
<html>
<head>
<title> {{ .tabTitle }}
</head>
<body>
<header>
<h1> {{ .pageName }} </h1>
</header>
</body>
</html>
答案 0 :(得分:4)
pageData的字段未导出,因此模板引擎无法访问它们。将字段名称和对模板中名称的引用大写。另外,请不要忽略模板执行错误。