4

Google App Engine で Google Go を使用しています。次のようstringに、構造体の説明を に保存しています。datastore

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 に答える