我将HTML标记插入数据库表:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
并将检索到的数据发送到View
func MyEvent(ctx iris.Context){
rows := ...
ctx.ViewData("rows", rows[0])
ctx.View("template.html")
}
我怎么能在这个事件中禁用自动转义?
1 回答
如何通过模板和输出获取原始HTML将取决于您使用Iris的模板引擎 . Iris supports five template engines out-of-the-box:
如果您使用的是标准
html/template
包,则使用template.HTML
类型将字符串标记为"safe HTML":或者添加你自己的过滤器,它只是
return template.HTML(s)
并在模板中使用它 .如果您使用的是Handlebars,那么您将使用{{}} in the template or raymond.SafeString in a helper:
如果您正在使用其他模板引擎之一,那么您将使用它们提供的任何机制来通过模板获取原始HTML .
当然,所有这些都假设您在HTML进入数据库之前或者从数据库到模板之前对HTML进行清理和清理 .