Go如何获取template渲染后的HTML内容?

只要获取渲染的后HTML内容,保存到一个字符串变量,不要输出

阅读 8.6k
1 个回答

你看 template 渲染的函数签名:Execute(wr io.Writer, data interface{}) error
显然渲染内容可输出到实现 io.Writer 接口的任何地方,比如 os.Stdout,文件,buffer 等地方

type User struct {
    Name string
}

func main() {
    tpl := template.New("example")
    tpl, _ = tpl.Parse("<p> hello {{.Name}} </p>")
    data := User{Name: "Tom"}

    var buf bytes.Buffer
    if err := tpl.Execute(&buf, data); err != nil {
        log.Fatal(err)
    }
    fmt.Println(buf.String()) // 渲染后的字符串 // <p> hello Tom </p>
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题