我正在使用Apache Freemarker作为HTML编辑器中的代码语言之一,用户可以在其中编写模板代码。假设用户为列表编写此代码:
<#list items as item>...</#list>
这是在Freemarker中创建列表的正确方法。但是,当我稍后使用$("div").html(TEMPLATECODE)
等函数加载模板时,它将呈现为:
<#list items as item>...<!--#list-->
这怎么可能?如何防止html将其转换为评论?
谢谢!
答案 0 :(得分:2)
FreeMarker模板不是HTML,但jQuery的.html(string)
需要一个有效HTML的字符串。因此,如果您将模板传递给它,那么必然会发生这样奇怪的事情。只传入模板的输出是有道理的。如果您想要向用户显示标记,则应使用.text(string)
。