我正在尝试动态更改内容。但内容保持不变。似乎要获取第一场比赛。不管模板是什么。即使使用硬编码文件名也不起作用。代码按预期工作,但内容无法更改。
主要布局
{{define "layout"}}
<html>
<body>
{{ template "content" }}
</body>
</html>
{{end}}
子模板 1
{{ define "content" }}
<h1 style="color: red;">Page 1!</h1>
{{ end }}
子模板 2
{{ define "content" }}
<h1 style="color: blue;">Page 2!</h1>
{{ end }}
围棋代码
package main
import (
"html/template"
"net/http"
"strings"
)
var tpl *template.Template
func init() {
tpl = template.Must(template.ParseGlob("templates/*.gohtml"))
}
func main() {
http.HandleFunc("/", index)
http.ListenAndServe(":8080", nil)
}
func index(w http.ResponseWriter, r *http.Request) {
path := strings.Trim(r.URL.Path, "/")
switch path {
case "":
path = ("index.gohtml")
default:
path = (path + ".gohtml")
}
err := tpl.ExecuteTemplate(w, "layout", path)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
我也曾尝试在执行之前执行 ParseFiles,但没有成功。我究竟做错了什么?
慕运维8079593
慕莱坞森
料青山看我应如是
相关分类