I am using Google Go on Google App Engine. I am saving a string
description in a structure into a datastore
, like so:
type Foo struct{
Bar string
}
That description includes html tags, for example:
<a href="/">Bar</a>
I want the html template
to include that description in an html file so it would be parsed as html. For example:
<html><head><title>Title</title></head>
<body>{{.Bar}}</body></html>
to be parsed as:
<html><head><title>Title</title></head>
<body><a href="/">Bar</a></body></html>
but instead, I get something like this:
<html><head><title>Title</title></head>
<body><a href="/">Bar's</a></body></html>
How can I make the template
parse the string
correctly into an html link?
The "http/template"
package automatically escapes all strings. To get around this you must make the value of type template.HTML
. E.g.
import "html/template"
type Foo struct {
Bar template.HTML
}
And then in your code do something like:
Foo.Bar = template.HTML(barString)