之前gin是通过 router.LoadHTMLGlob("templates/*")
然后指定模板文件名可以直接加载html文件输出的,
现在我想用 packr 把静态文件作为资源文件内嵌,怎么与gin合作?
现在只能拿到静态文件的字符串,作为string输出是没问题
c.String(200, readmeHtml);
但如何像gin一样带变量输出
router.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "readme.html", gin.H{
"message": "hello world",
})
})
其实你还是要使用template去Parse一下的,例如packr官网的结构:
先用
FindString
查找对应文件的内容,然后使用html/template
创建模板并解析:上面这个函数可以使用配置来简化代码。
然后使用
gin.Engine
的SetHTMLTemplate
设置刚刚创建好的模板: