【问题标题】:Output string as html in freemarker在freemarker中将字符串输出为html
【发布时间】:2015-04-26 08:10:31
【问题描述】:

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

示例:

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

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

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

【问题讨论】:

  • 请比“不起作用”更具体

标签: java templates freemarker


【解决方案1】:

[#noescape]&lt;#noescape&gt; 仅在 [#escape] 标记内使用时有效。您的数据可能使用 HTML 编码存储。您需要让后端对 html 进行反编码。

否则你需要做类似...

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

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

【讨论】:

  • 这正是我们发现的情况。谢谢!
猜你喜欢
  • 2017-06-18
  • 2017-06-12
  • 2016-05-27
  • 2012-10-16
  • 2014-07-30
  • 2013-07-18
  • 2016-10-21
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多