以登录为例展示templete模板渲染
一、新建视图
定义模版,标识后端渲染的视图
定义可以允许访问的模版
func main() {
//把前端请求的格式和封装处理函数进行绑定的标签
//绑定请求和处理函数
http.HandleFunc("/user/login", userLogin)
//1.提供静态资源目录支持
//http.Handle("/", http.FileServer(http.Dir("."))) //当前目录
//2.提供指定目录的静态文件支持
http.Handle("/asset/", http.FileServer(http.Dir("."))) //第一个是格式
//定义可以允许访问的模版 user/login.shtml
http.HandleFunc("/user/login.shtml", func(writer http.ResponseWriter, request *http.Request) {
//把模版解析并且显示出来
//tpl得到模版的指针
tpl, err := template.ParseFiles("view/user/login.html") //filename是模版的相对路径
if err != nil {
//直接退出和fmt.Printf不一样
log.Fatal(err.Error()) //Fatal函数作用,如果模版渲染出错了,这个应用不用往下跑了,直接退出
}
//参数2 模版的名称是view视图上方define定义的名字
//参数3 需要往视图传递的数据,不需要nil
tpl.ExecuteTemplate(writer, "/user/login.shtml", nil)
})
//启动web服务器
http.ListenAndServe(":8080", nil)
}
最后重启访问即可