Gin html模板引用

来源:互联网 发布:通用网络视频监控软件 编辑:程序博客网 时间:2024/06/05 05:23

提取公共部分

1.header.html

{{define "header"}} <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>        <span>ddddd</span>{{end}}

2.footer.html

{{define "footer"}}        <span>end</span></body></html>{{end}}

注意:define部分只写文件的名字,不加路径和后缀名

使用不同路径下但相同文件名的模板

func main() {    router := gin.Default()    router.LoadHTMLGlob("views/**/*")    router.GET("/main/newlist", func(c *gin.Context) {        c.HTML(http.StatusOK, "main/newlist.html",gin.H{            "title": "Posts",        })    })    router.GET("/users/index", func(c *gin.Context) {        c.HTML(http.StatusOK, "users/index.tmpl",gin.H{            "title": "Users",        })    })    router.Run(":8080")}

其上代码分别引用了views文件夹下的posts文件夹和users文件夹。在HTML文件中的写发如下:

{{define "main/newlist.html"}}{{template "header" .}}    <div>middle</div>{{template "footer" }}{{end}}

注意:在define中HTML文件的路径和后缀名都必须加上,跟引用公共模板正好相反。