我想使用noescape
执行模板并且没有引号,但现在不支持noescape
。
是否有任何建议或我是否必须使用其他模板引擎?谢谢!
答案 0 :(得分:2)
我们鼓励您在 template.JS
类型中存储安全的Javascript:
输入JS字符串
JS封装了一个已知的安全EcmaScript5表达式, 例如,
(x + y * z())
。模板作者负责 确保键入的表达式不会破坏预期的优先级 通过时没有语句/表达模糊 表达式如“{foo:bar()} \ n'foo'”,这两者都是有效的 表达式和有效程序具有非常不同的含义。
因此,您需要对代码进行的唯一更改是:
type Var struct {
Name template.JS
Value template.JS
}
答案 1 :(得分:0)
@ANisus答案中的一小部分。还有一个类似的HTML(和CSS)包装器。每当您尝试将HTML字符串传递到模板中时,它都会被引用。因此,为了正确呈现安全的HTML,请使用:
yourHTML := "<strong>Hi!</strong>"
yourWrappedHTML := template.HTML(yourHTML)
// pass the later into your template