go - 如何阻止 go html/template 转义路径(尝试过 .HTML .JS 等)

标签 go html-escape-characters go-html-template

我正在使用 html/模板功能来组装页面,我提供给模板的变量之一是形式为“/some/path/etc”的 URI,用作 JS 函数的参数在 onClick="..."中调用。

无论如何,此配置中使用的字符串将使用反斜杠进行转义:"\/some\/path\/etc"

正如您在下面的 playground 示例中所见,我尝试了所有 .HTML()、.JS() 等函数,但似乎没有任何东西可以阻止转义。

请参阅此处的 Go Playground 示例:https://play.golang.org/p/2gdghTpQHKP

我怎样才能“按原样”将此 URI 放入模板结果中?

最佳答案

感谢 mkopriva 的评论。

据我所知,没有办法(如 mkopriva 所述)在 Go HTML 模板中处理 HRML 属性值片段。 所以选项是:

  1. 保持原样(似乎至少在我的用例中,URI 甚至可以在使用转义正斜杠的进一步处理中工作)
  2. 首先连接完整的属性,以便“HTML 属性”方式接受它
  3. 编写一个构造函数,在模板执行中获取部分并组装最终属性值
  4. 以某种形式对值进行硬编码

关于go - 如何阻止 go html/template 转义路径(尝试过 .HTML .JS 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901637/

相关文章:

http - 通过 HTTP 进行回调的异步 RPC

git - 为什么 `go get` 尝试访问 http 而不是 https?

xml - CDATA 中的 XSL 转义 HTML

hugo - 按用户定义的属性排序

go - 无法解析来自 beego 的已发布表单数据

json - 使用 golang 返回一个空数组而不是 null 用于使用 gin 返回的 json

json - 如何使用 Go map 创建对象的 JSON 数组?

javascript - Document.write(<script>) 抛出意外标记 "ILLEGAL"

javascript - 如何转义内部CSS?

go - 如何在 golang 中使用不同的接口(interface)在单个网页中执行多个模板?