【问题标题】:<!DOCTYPE> html/template<!DOCTYPE> html/模板
【发布时间】:2013-07-28 17:22:17
【问题描述】:

我有一个简单的 go lang 网络服务器,它只是将一些数据解析为外部 HTML 文件并将该文件提供给网络服务器。

package main

import (
    "html/template"
    "net/http"
)

type Event struct {
    Name string
}

func handler(w http.ResponseWriter, r *http.Request) {
    e := Event{ Name: "Melt! Festival" }
    t, _ := template.ParseFiles("events.html")
    t.Execute(w, e)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":1337", nil)
}

但是每当我尝试使用 set 解析 HTML 文件时,它会将我的 html 页面解析为文本,而不是在浏览器中呈现 HTML

<!DOCTYPE>
<html>
<head>
    <title>Event</title>
</head>
<body>
    <p>
        Event: {{.Name}}
    </p>
</body>
</html>

当我将 &lt;!DOCTYPE&gt; 留在 HTML 文件之外时,它会很好地呈现它。

谁能告诉我为什么这是因为我真的很好奇?我花了两个小时寻找我的 go 代码不起作用的原因。

【问题讨论】:

    标签: html go


    【解决方案1】:

    您的 doctype 声明不正确,因此产生的效果与期望的相反:它可能被浏览器解释为表示文档 不是 HTML。

    使用这个:

    <!DOCTYPE html>
    

    reference

    【讨论】:

    • 就是这样,我习惯了不包括“html”部分。非常感谢
    【解决方案2】:

    您是否尝试过在文件中使用 DOCTYPE html?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-11
      • 2021-04-01
      • 2011-11-22
      • 2014-04-27
      • 2016-07-28
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多