gin跳转到html,Gin 使用示例(十六):HTML 视图模板渲染

Gin 使用示例(十六):HTML 视图模板渲染

由 学院君 创建于9个月前, 最后更新于 9个月前

版本号 #1

1952 views

0 likes

0 collects

在 Gin 框架中,可以使用 LoadHTMLGlob() 或 LoadHTMLFiles() 来渲染 HTML。

单目录

如果要加载的 HTML 文件位于同一个目录下,示例代码如下(src/gin-demo/examples/html.go):

func main() {

router := gin.Default()

router.LoadHTMLGlob("templates/*.tmpl")

// 如果使用 LoadHTMLFiles 的话这么做(需要列举所有需要加载的文件,不如上述 LoadHTMLGlob 模式匹配方便):

// router.LoadHTMLFiles("templates/template1.html", "templates/template2.html")

router.GET("/index", func(c *gin.Context) {

c.HTML(http.StatusOK, "index.tmpl", gin.H{

"title": "Main website",

})

})

router.Run(":8080")

}

对应的视图模板(src/gin-demo/examples/templates/index.tmpl):

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gin框架中,可以使用HTML模板渲染页面。可以使用`LoadHTMLGlob()`或`LoadHTMLFiles()`方法来加载HTML模板。 假设你有一个`views`文件夹,里面存放了你的HTML模板文件,可以使用以下代码加载HTML模板: ```go router := gin.Default() // 加载HTML模板文件 router.LoadHTMLGlob("views/*") // 定义路由 router.GET("/", func(c *gin.Context) { c.HTML(http.StatusOK, "index.html", gin.H{ "title": "首页", }) }) router.GET("/about", func(c *gin.Context) { c.HTML(http.StatusOK, "about.html", gin.H{ "title": "关于我们", }) }) router.Run(":8080") ``` 在上面的代码中,我们使用了`LoadHTMLGlob()`方法来加载`views`文件夹下的所有HTML模板文件。然后定义了两个路由,分别为`"/"`和`"/about"`。在处理这两个路由的回调函数中,我们使用了`c.HTML()`方法来渲染HTML模板文件,并传递了一个`gin.H`类型的数据,用于在HTML模板渲染动态数据。 例如,假设`index.html`文件内容如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>{{.title}}</title> </head> <body> <h1>{{.title}}</h1> <p>这是首页</p> </body> </html> ``` 其中,我们使用了`{{.title}}`来渲染动态数据。 当用户访问`"/"`路由时,Gin框架会自动渲染`index.html`模板文件,并将`gin.H`类型的数据`{"title": "首页"}`传递给模板文件。渲染后的HTML内容如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首页</title> </head> <body> <h1>首页</h1> <p>这是首页</p> </body> </html> ``` 同样的,当用户访问`"/about"`路由时,Gin框架会自动渲染`about.html`模板文件,并将`gin.H`类型的数据`{"title": "关于我们"}`传递给模板文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值