string
または[]byte
をtemplate.HTML
に変換することによって、GO Template Engine側でhtmlのエスケープ処理が走らなくなる。
Revelで使用する際のサンプル
app.go
func (c *revel.Controller) Show() revel.Result {
escape_html := "<h1>Hello World</h1>"
raw_html := template.HTML(escape_html)
return c.Render(escape_html, raw_html)
}
show.html
{{escape_html}} <!-- <h1>Hello World</h1> -->
{{raw_html}} <!-- <h1>Hello World</h1> -->