我正在尝试更改 html 模板中的分隔符。不幸的是,它在 render 函数中不起作用,在 main 函数中也不起作用。请参阅https://pkg.go.dev/text/template#Template.Delimspackage mainimport ( "html/template" "io" "net/http" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware")type Template struct { templates *template.Template}func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error { t.templates.Delims("[[", "]]") return t.templates.ExecuteTemplate(w, name, data)}func Hello(c echo.Context) error { test := `{ "name" : "Ben", "country" : "Germany", "city" : "Berlin", "body":{"test":"test","test2":"test2"} }` return c.Render(http.StatusOK, "hello", test)}func main() { // Echo instance e := echo.New() t := &Template{ templates: template.Must(template.ParseGlob("public/views/*.html")), } t.templates.Delims("[[", "]]") e.Renderer = t e.GET("/hello", Hello) // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Start server e.Logger.Fatal(e.Start(":8000"))}
1 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
你必须Delims
先打电话ParseGlob
。像这样:
t := &Template{ templates: template.Must(template.New("").Delims("[[", "]]").ParseGlob("public/views/*.html")), }
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消