我正在尝试使用Atlassian产品中嵌入的Velocity引擎(并通过com.atlassian.templaterenderer公开)将JSON值替换为模板。
在模板中,这看起来有点像:
<script>
foo = $foo
</script>
但是,当我使用映射到字符串["bar", "baz"]
的“foo”呈现模板时,输出如下:
<script>
foo = ["bar", "baz"]
</script>
如何避免这种情况?
答案 0 :(得分:5)
Atlassian有一个事件处理程序,它对任何名称不以WithHtml
结尾的变量执行转义。
因此:
<script>
foo = $fooWithHtml
</script>
根据需要扩展。
答案 1 :(得分:1)
这不是默认行为,看起来您在EscapeHtmlReference
或java初始化中注册了velocity.properties
事件处理程序。有关事件处理程序的更多详细信息here。