进阶 www.iris-go.com 2026-10-20 02:39:14 · 18 阅读
第47章 在 Iris 中发送 HTML 响应
HTML Response
学习如何在 Iris 中发送 HTML 响应。
基础 HTML 响应
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.Get("/", func(ctx iris.Context) {
ctx.HTML("")
})
app.Get("/formatted", func(ctx iris.Context) {
name := "John"
ctx.HTML("Hello %s
", name)
})
app.Listen(":8080")
}
模板引擎
func main() {
app := iris.New()
// 注册模板引擎
tmpl := iris.HTML("./views", ".html")
tmpl.Layout("layouts/main.html")
tmpl.Reload(true) // 开发模式下启用重新加载
app.RegisterView(tmpl)
app.Get("/", func(ctx iris.Context) {
ctx.ViewData("title", "Home Page")
ctx.ViewData("message", "Welcome!")
ctx.View("index.html")
})
app.Listen(":8080")
}
局部视图
app.Get("/with-partial", func(ctx iris.Context) {
ctx.ViewData("title", "Page with Partial")
ctx.View("page.html")
})
// 在 page.html 中:
// {{ partial "header.html" . }}
最佳实践
- 安全:转义 HTML 输出、验证输入、设置安全头、防止 XSS、处理敏感数据
- 性能:缓存模板、启用压缩、优化响应大小、监控渲染耗时、处理超时
- 开发:使用布局、实现局部视图、记录结构、遵循规范、测试渲染效果
- 维护:定期更新、监控错误、清理模板、记录变更、审查安全