0

我想将解释变量的结果分配给另一个变量。

Freemarker 提供了内置函数?interpret来解释包含 ftl 表达式的变量。请参阅http://freemarker.sourceforge.net/docs/ref_builtins_expert.html#ref_builtin_interpret

如果我做

[#if var1?has_content && var1?starts_with(r"${")]
    [#assign interpretedValue = var1?interpret!""]
    [@interpretedValue/]
[/#if]

[@interpretedValue/]输出解释的值。

但是,我想将解释值的值分配给一个变量(为了做一些事情,比如?has_content在我的代码的其余部分)。我试过[#assign varInterpretedValue = @interpretedValue]了,但这不起作用。

这可能吗?

4

1 回答 1

2

是的,像这样:

[#assign capturedOutput][@(var1!'')?interpret /][/#assign]
${capturedOutput} [#-- Attention! Put this into #noescape if you are inside #escape! --]

请注意,!''suff 必须在 之前?interpret,否则它不会做任何事情(因为结果?interpret始终为非空)。

于 2013-05-29T10:50:02.737 回答