gin如何返回html

✅ 方法一:直接返回 HTML 字符串

这种方式适合简单场景,比如返回一段固定的 HTML 内容。

go 复制代码
package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()

	r.GET("/html", func(c *gin.Context) {
		htmlContent := `<html><body><h1>Hello Gin</h1></body></html>`
		c.Data(200, "text/html; charset=utf-8", []byte(htmlContent))
	})

	r.Run(":8080")
}

✅ 方法二:使用模板渲染返回 HTML

适合页面模板渲染场景。你可以定义 HTML 模板文件,然后将数据传递给模板。

1. 项目结构示例

复制代码
.
├── main.go
└── templates
    └── index.html

2. templates/index.html

html 复制代码
<html>
  <body>
    <h1>Hello {{ .name }}</h1>
  </body>
</html>

3. main.go

go 复制代码
package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()

	// 加载模板文件
	r.LoadHTMLGlob("templates/*")

	r.GET("/html", func(c *gin.Context) {
		c.HTML(200, "index.html", gin.H{
			"name": "小诸葛",
		})
	})

	r.Run(":8080")
}

📝 补充:LoadHTMLGlobLoadHTMLFiles 区别

  • LoadHTMLGlob("templates/*"):支持通配符加载多个模板文件。
  • LoadHTMLFiles("templates/index.html"):一次只加载指定文件。
相关推荐
刘发财10 分钟前
前端2秒生成500页矢量PDF,rust真的强到没朋友
前端·javascript·rust
郑州光合科技余经理43 分钟前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
梦想平凡1 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
yume_sibai2 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
计算机魔术师4 小时前
特朗普上台打给黄仁勋:AI末日论是骗局,我们绝不让它发生
前端
troy1284 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析
计算机魔术师4 小时前
CEO说要慢下来,黑客说别做梦了——同一篇论文,两种命运
前端
kyriewen5 小时前
我花3天抓了一个幽灵bug,凶手藏在第4层
前端·javascript·程序员
IT_陈寒5 小时前
Java里用Stream.parallel()翻车实录,这性能还不如单线程
前端·人工智能·后端
wangchunyu1145 小时前
JavaScript 零基础入门教程
前端