我正在尝试更改 html 模板中的分隔符。不幸的是,它在 render 函数中不起作用,在 main 函数中也不起作用。
请参阅https://pkg.go.dev/text/template#Template.Delims
package main
import (
"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"))
}
幕布斯7119047
相关分类