繁体   English   中英

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

[英]freemarker display ${..} as html rather than string

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

服务器返回:String htmlCode="<h1>Hello</h1>";

自由标记.ftl

${html代码}

除了:

你好

实际上:<h1>你好</h1>

我能做什么?

默认情况下 FreeMarker 没有自动转义,因此它应该将该值打印为 HTML。 但正如你所说的,我可以想象两种可能性:

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

String htmlCode="你好";

<h1> ${htmlCode} </h1>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM