如何在Freemarker中输出$ {expression}而不解释它?

Gle*_*ett 29 freemarker el jquery-templates

我正在尝试将Freemarker与jQuery模板结合使用.

两个框架都使用美元符号/花括号来标识替换的表达式(或者在freemarker中调用它们,"插值"),例如${person.name}.

因此,当我在该语法中定义带有表达式的jQuery模板时,Freemarker会尝试解释它们(并失败).

我试图逃避的各种组合${顺序通过的Freemarker通过它无济于事- ,\${,\$\{,$\{等.

在美元和卷曲(例如$<#-- -->{expression})DOES工作之间插入一个freemarker评论- 但我正在寻找一个更简洁和优雅的解决方案.

有没有更简单的方法来获得Freemarker模板输出字符序列${

jav*_*nna 53

这应该打印$ {person.name}:

${r"${person.name}"}
Run Code Online (Sandbox Code Playgroud)


dde*_*any 23

此外,如果你有更长的部分没有FreeMarker标记,你可以使用<#noparse>...</#noparse>.

如果你有很多这个问题,那么从FreeMarker 2.3.28开始,你可以通过将配置设置设置为(在Java API中)来配置FreeMarker [=exp]而不是使用它.然后就是FreeMarker的静态文本.不要将此设置与设置混淆,后者也可以具有值,但与插值语法无关(但您可能更喜欢将两者都设置为).另见:https://freemarker.apache.org/docs/dgui_misc_alternativesyntax.html${exp}interpolation_syntaxsquare_bracket${exp}square_bracketconfig.fmpp<#noparse>...</#noparse>[=exp]