在 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(">", ">")?replace("<", "<")}
但这不是一个好方法,因为它不会捕获所有编码值,不应该在视图层中完成。
因此我们将 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(">", ">")?replace("<", "<")}
但这不是一个好方法,因为它不会捕获所有编码值,不应该在视图层中完成。