我从前端收到一个带有一个或多个HTML元素的字符串的json,例如:
"textTop" : "<b>bold</b><div><i>italic</i>..."
我想使用这个字符串在div中创建Html元素,但我不确定我是否可以使用golang模板执行此操作。
type FooBar struct {
TextTop string
}
所以我现在将TextTop存储在一个字符串中,然后用html显示它:
<div>
{{.TextTop}}
</div>
但当然这会在浏览器中产生以下结果。只是一个包含字符串的div,我正在传递:
那么我应该在TextTop
内使用Foobar struct
的不同类型而不是类型字符串,哪一个?或者我可以使用golang函数从字符串中读取所有html元素并将它们作为DOM的一部分呈现在html中而不仅仅是字符串吗?
答案 0 :(得分:1)
要防止转义,请将字段声明为template.HTML类型:
type FooBar struct {
TextTop template.HTML
}
有关使用template.HTML的安全风险的信息,请参阅链接文档。