登录
首页 >  Golang >  Go问答

如果添加了 {{ end }},html 文件将无法工作

来源:stackoverflow

时间:2024-03-17 20:00:29 316浏览 收藏

在 Go 中使用 HTML 模板时,如果在模板中包含 HTML 注释,则输出的 HTML 文档中将不会呈现这些注释。这是因为 Go 的 HTML 模板解析器将仅包含空格和注释的模板定义视为无效。因此,如果将代码 {{range}} 放在 HTML 注释中,则注释后面的项目将从输出中消失。

问题内容

我正在使用 golang 将内容添加到 html 模板文件中。主文件很简单

func main() {
    server := http.server{
        addr: "localhost:8080",
    }

    http.handlefunc("/process", processcover)
    server.listenandserve()
}

func processcover(w http.responsewriter, r *http.request) {
    t1, _ := template.parsefiles("t1.html", "t2.html")
    t1.execute(w, "hello world")
}

在html文件中,如果我添加以下代码

它后面的项目全部丢失。我不明白,因为我认为这是评论的。这应该是我不知道的关于 go web 的一些要点。


解决方案


如果输出的上下文是 HTML,则不会呈现模板中的 HTML 注释。由于您将 {{range}} 放在 HTML 注释中(在 之间),并且由于输出是 HTML 文档,因此它被删除。

这在 Template.Parse() 的文档中有所暗示:

正文仅包含空格和注释的模板定义被视为空,并且不会替换现有模板的正文。

查看相关:Go - HTML comments are not rendered

理论要掌握,实操不能落!以上关于《如果添加了 {{ end }},html 文件将无法工作》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>