4

我在 Google App Engine 上使用 Google Go。我string将结构中的描述保存到 adatastore中,如下所示:

type Foo struct{
    Bar string
}

该描述包括 html 标签,例如:

<a href="/">Bar</a>

我希望将该html template描述包含在 html 文件中,以便将其解析为 html。例如:

<html><head><title>Title</title></head>
<body>{{.Bar}}</body></html>

被解析为:

<html><head><title>Title</title></head>
<body><a href="/">Bar</a></body></html>

但相反,我得到了这样的东西:

<html><head><title>Title</title></head>
<body>&lt;a href=&#34;/&#34;&gt;Bar&#39;s&lt;/a&gt;</body></html>

如何将template解析string正确地转换为 html 链接?

4

1 回答 1

5

"http/template"包自动转义所有字符串。要解决这个问题,您必须设置 type 的值template.HTML。例如

import "html/template"

type Foo struct {
    Bar template.HTML
}

然后在您的代码中执行以下操作:

Foo.Bar = template.HTML(barString)
于 2012-11-03T22:32:03.590 回答