在 freemarker 中将字符串输出为 html

Output string as html in freemarker

因此我们将 html 存储在输出数据模型中。我需要将其输出到 freemarker 模板中:

示例:

[#assign value = model.value!]
${value}

value = '<p>This is <a href='somelink'>Some link</a></p>'

我试过 [#noescape] 但它抛出一个错误,说没有转义块。参见 FREEMARKER: avoid escaping HTML chars。此解决方案对我不起作用。

[#noescape]<#noescape> 仅在 [#escape] 标签内使用时有效。您的数据可能以 HTML 编码存储。您需要让后端取消编码 html.

否则你需要做类似...

${value?replace("&gt;", ">")?replace("&lt;", "<")}

但这不是一个好方法,因为它不会捕获所有编码值,不应该在视图层中完成。