【问题标题】:Populate many Html elements inside a div with golang templates?使用 golang 模板在 div 中填充许多 Html 元素?
【发布时间】:2018-01-27 15:24:25
【问题描述】:

我从我的前端收到一个包含 1 个或多个 HTML 元素的字符串的 json,例如:

"textTop" : "<b>bold</b><div><i>italic</i>..."

我想使用这个字符串在 div 中创建 Html 元素,但我不确定是否可以使用 golang 模板来做到这一点。

type FooBar struct {
    TextTop    string
}

所以我目前将 TextTop 存储在一个字符串中,然后在 html 中显示它:

        <div>
            {{.TextTop}}
        </div>

但这当然会在浏览器中产生以下结果。只是一个包含 string 的 div,我正在传递。:

那么我应该在Foobar struct 中为TextTop 使用不同的类型而不是字符串类型,是哪一种?或者我可以使用 golang 函数从字符串中读取所有 html 元素并将它们作为 DOM 的一部分呈现在 html 中,而不仅仅是字符串?

【问题讨论】:

标签: go go-templates


【解决方案1】:

为防止转义,请将该字段声明为类型template.HTML

type FooBar struct {
    TextTop    template.HTML
}

有关使用 template.HTML 的安全风险的信息,请参阅链接文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2011-11-27
    • 2022-01-17
    相关资源
    最近更新 更多