我觉得这是一个简单的问题,但我是一个彻头彻尾的菜鸟,我似乎无法找到答案。
我使用以下内容根据网址路径提供特定的html模板
func handleTemplate(w http.ResponseWriter, r *http.Request) {
templates := populateTemplates()
requestedFile := r.URL.Path[1:]
t := templates.Lookup(requestedFile + ".html")
if t != nil {
err := t.Execute(w, nil)
if err != nil {
log.Println(err)
}
} else {
w.WriteHeader(http.StatusNotFound)
}
}
func main() {
http.HandleFunc("/", handleTemplate)
http.Handle("/img/", http.FileServer(http.Dir("static")))
http.Handle("/css/", http.FileServer(http.Dir("static")))
// Dev port binding
bind := fmt.Sprintf("%s:%s", "0.0.0.0", "5000")
fmt.Printf("listening on %s...", bind)
err := http.ListenAndServe(bind, nil)
if err != nil {
panic(err)
}
}
如果我有一个名为home.html的模板,那么效果很好..我可以浏览到localhost / home,它会显示正确的模板。
但是,我希望用户浏览到localhost /并显示特定的html模板。没有框架可能吗?
答案 0 :(得分:1)
不确定
if r.URL.Path == "/" {
// Render default/index/whatever page
}