进阶 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、处理敏感数据
  • 性能:缓存模板、启用压缩、优化响应大小、监控渲染耗时、处理超时
  • 开发:使用布局、实现局部视图、记录结构、遵循规范、测试渲染效果
  • 维护:定期更新、监控错误、清理模板、记录变更、审查安全

评论 (0)