Freemarker将转义的$ {expression}分配给变量

时间:2018-11-13 16:56:14

标签: freemarker

我需要将转义的$ {expression}分配给Freemarker中的变量

从问题here来看,很明显,我们可以通过这种方式转义$符号

${r"${expression}"}

这在Freemarker上下文之外完美地工作,但在内部不起作用。我正在尝试

<#assign x = "${r"${expression}"}">

但是出现以下错误:

模板包含失败: 您不能在此处使用“ $ {”,因为您已经处于FreeMarker-expression-mode模式下。因此,只需编写myExpression即可代替$ {myExpression}。 (仅在需要静态文本的情况下,即在FreeMarker标签和$ {...}-s之外,才需要$ {...}。)

实现此目标的方法是什么?预先感谢。

2 个答案:

答案 0 :(得分:1)

赞:

<#assign x = r"${expression}">

答案 1 :(得分:1)

我不得不花一些时间来找出以下情况,以逃避$ {expression}-

  • 在Freemarker分配中:
  

<#assign var = r“ $ {expression}”>

  • 在html属性中:
  

<a href="/user/${r"${expression}"}"> Some link </a>

  • 在Freemarker串联中:
  

<#assign x =“ something&” + r“ $ {expression}” />