freemarker显示$ {..}为html而不是字符串

问题描述 投票:1回答:3

我从服务器获取html代码以构建freemarker.ftl。示例:

服务器返回:字符串htmlCode =“

你好 h1>”;

freemarker.ftl

$ {htmlCode}

除外:

你好

实际上:

你好 h1>

我该怎么办?

java freemarker
3个回答
3
投票

默认情况下,FreeMarker不会自动转义,因此应将该值打印为HTML。但是正如您所说的那样,我可以想象两种可能性:

  • 您在<#escape x as x?html>...</#escape>内部,或已通过自定义TemplateLoader添加到模板中。在这种情况下,必须在2.3.x中编写<#noescape>${htmlCode}</#noescape>。 (在2.4中,如果一切按计划进行,那么冗长得多。)
  • 该值已转义之前到达FreeMarker。因此模板已经获得&lt;h1&gt;Hello&lt;/h1&gt;作为字符串。

0
投票

[Auto-escaping and output formats此文档对您的问题确实有用


-3
投票

String htmlCode =“ Hello”;

[<h1> $ {htmlCode} </h1>

© www.soinside.com 2019 - 2024. All rights reserved.