当前位置: 首页 > 面试题库 >

HTML输出被解释为纯文本,而不是被接收为html

白禄
2023-03-14
问题内容

我确定这只是我正在做的愚蠢的事情,但是我是Go的新手,所以不确定这里发生了什么。我有以下基本设置。

requestHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    t := template.New("test")
    t, _ := template.ParseFiles("base.html")
    t.Execute(w, "")
})

server := &http.Server{
    Addr:           ":9999",
    Handler:        requestHandler,
    ReadTimeout:    10 * time.Second,
    WriteTimeout:   10 * time.Second,
    MaxHeaderBytes: 1 << 20,
}

log.Fatal(server.ListenAndServe())

base.html的内容如下:

<DOCTYPE html>
<html>
    <body>
        base.html
    </body>
</html>

当我运行服务器并加载页面时,我看到模板内的HTML是逐字的-而不是解释后的版本。事实证明,模板被包装在 标签中,随后被包装在新文档中。

发生什么了?为什么默认情况下go会将其视为纯文本而不是将其作为html发送,以便浏览器可以正确呈现它?当然,这肯定是一个简单的误解,但搜索没有任何结果。有想法吗?


问题答案:

您需要添加带有Content-Type的标题

 w.Header().Set("Content-Type", "text/html")


 类似资料:
  • 问题内容: 我有一些这样的文字: 我想显示不带标签的内容: 我也不想应用标签,我想剥离它们。有什么简单的方法可以做到这一点? 角HTML: 问题答案: jQuery比SLOWER慢40倍左右 ,请不要将jQuery用于该简单任务。 用法: 使用angular.js: 用 :

  • 使用Spring Security 4.0.2。发布 对于使用Spring Security框架的基本用户身份验证,我实现了Spring Security性DaoAuthenticationProvider 当用户尝试使用正确的用户名登录时,错误的密码和用户的帐户已被锁定,那么我预计Spring Security身份验证模块将引发BadCredentialsException,但它会引发Locke

  • 我有一个包含HTML实体的字符串(例如-加减符号)。 我怎样才能得到那些HTML实体解码成纯文本的字符串呢? 示例:

  • 我找不到合适的解释。我可以找到JVM被称为虚拟机的原因,但无法找到jre不被称为虚拟机的原因。请帮忙。

  • 问题内容: 当用户登录时,我正在设置一个sessionScope对象,并且那个bean对象由几个其他bean组成。这些bean的属性之一是枚举,但是我发现EL无法获取enum类的属性,而只能获取Java bean对象的属性。因此,我决定为该枚举创建一个bean类,并将该枚举嵌套在该bean类中。我为替换枚举而制作的java bean,以便可以通过EL获得其值,如下所示: 但是,当我尝试访问等级名称

  • 然后将这个变量添加到arrayList,我在程序中调用WriteToFile()方法。 AddBookDialog类的代码 WriteFile类的代码 相反,当我尝试向该文件写入另一本书时,它反而覆盖了第一行 哈姆雷特:威廉莎士比亚:企鹅:FIC Shak:23 //《哈利·波特》的书中详细内容已被改写