import (
"github.com/gin-gonic/gin"
"html/template"
"net/http"
)
func main() {
r := gin.Default()
//gin模板添加自定义函数
r.SetFuncMap(template.FuncMap{
"safe" : func(str string) template.HTML {
return template.HTML(str)
},
})
//表示解析templates文件夹下所有的目录下的文件夹
r.LoadHTMLGlob("src/gin_test/templates/**/*")
r.GET("/users/index", func(c *gin.Context) {
//name就是模板的名字,如果没有通过define语句定义模板名字的话,就是文件名字
c.HTML(http.StatusOK,"users/index.tmpl", gin.H{
"title" : "<a href= 'https://abc.com'>abc</a>",
})
})
r.Run(":9090")
}
index.tmpl文件
{{define "users/index.tmpl"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-sacle=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>users/index</title>
</head>
<body>
<!-- 通过管道将title传给safe -->
{{.title | safe}}
</body>
</html>
{{end}}
结果