【原】Gin框架的HTML渲染

/ 0评 / 0

首先需要安装gin框架,此处不再多说,直接上示例和代码。

1:加载index.html

package main
import (
   "github.com/gin-gonic/gin"
)
func main() {
   r := gin.Default()
//设置HTML目录
r.LoadHTMLGlob("public/html/*")
//单独加载某个HTML文件也可以使用以下
//r.LoadHTMLFiles("public/html/index.html")
r.GET("/index.html", func(c *gin.Context) {
   c.HTML(200,"index.html",gin.H{
      "title" :"首页",
      "msg":"我是一条神奇的消息",
   })
})
//启动,使用默认的8080端口
r.Run()
}

2:加载不同目录下的同名模板

//加载不同目录下的同名文件
r.LoadHTMLGlob("public/html/**/*")
//加载admin的主页
r.GET("/admin/index", func(c *gin.Context) {
   c.HTML(200,"admin/index.tmpl",gin.H{
      "title" : "admin首页",
      "msg":"我是admin的首页",
   })
})
//加载index的主页
r.GET("/index/index", func(c *gin.Context) {
   c.HTML(200,"/index/index.tmpl",gin.H{
      "title":"index首页",
      "msg":"我是index的首页",
   })
})

目录结构如下:

启动后分别在浏览器中访问两个路由

3:自定义模板渲染器

package main
import (
   "github.com/gin-gonic/gin"
   "html/template"
)
func main() {
   r := gin.Default()
   //设置模板的路径
   file1  := "public/html/admin/index.tmpl"
   file2  := "public/html/index/index.tmpl"
   html := template.Must(template.ParseFiles(file1,file2))
   r.SetHTMLTemplate(html)
   r.Run()
}

4:加载静态文件
如果要在页面上引用js、css、图片等静态文件,则无法直接使用,需要首先将静态文件加载进来。

//设置HTML目录
r.LoadHTMLGlob("public/html/*.html")
//设置js目录
r.Static("/static/js","./public/static/js")
//设置css目录
r.Static("/static/css","./public/static/css")
//设置单个文件
r.StaticFile("/jquery","./public/static/image/index.jpg")
//注册/public/static下的所有文件   “.”表示全部
r.StaticFS("/public/static",http.Dir("."))
//单独加载某个HTML文件也可以使用以下
r.LoadHTMLFiles("public/html/index.html")
r.GET("/index.html", func(c *gin.Context) {
   c.HTML(200,"index.html",gin.H{
      "title" :"首页",
      "msg":"我是一条神奇的消息",
   })
})

此时在HTML文件里加载对应的静态文件即可如要加载/public/static/css/index.css ,直接在HTML文件里使用如下即可

<link rel="stylesheet" href="/static/css/index.css">

以上是Golang渲染HTML页面的一些技巧,在此分享。

如有转载请注明出处!

及时了解关于PHP和golang的一些技术文章请关注微信公众号:文艺的爱码士