以登录为例展示templete模板渲染

一、新建视图

10、以登录为例展示templete模板渲染 - 图1

定义模版,标识后端渲染的视图 10、以登录为例展示templete模板渲染 - 图2

定义可以允许访问的模版 10、以登录为例展示templete模板渲染 - 图3

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

最后重启访问即可