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"):一次只加载指定文件。
相关推荐
Jinuss几秒前
代码质量管理工具-SonarQube
前端·代码规范
ZFSS9 分钟前
WebExtrator 网页渲染与内容提取 API 使用指南
前端·人工智能·ai·ai编程
M ? A18 分钟前
VuReact:Vue转React的增量编译利器
前端·vue.js·后端·react.js·面试·开源·vureact
csj5030 分钟前
前端基础之《React(9)—React组件》
前端·react.js
研究点啥好呢32 分钟前
Muses | 搭建属于你自己的AI生图网站
前端·人工智能·ai·github
aircrushin32 分钟前
给宝宝办了个宴,朋友用trae做的工具帮了大忙
前端·后端
程序员Sunday41 分钟前
爆肝万字!这应该是全网最全的 Codex 实战教程了
前端·后端·ai编程
aircrushin42 分钟前
朋友用trae搭建的工具,解决了旅行拍照共享的大事儿
前端·后端
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_41:(DOMParser 接口详解)
前端·javascript·ui·html·音视频
光影少年1 小时前
useLayoutEffect 和 useEffect 区别、使用场景
开发语言·前端·javascript