我想将解释变量的结果分配给另一个变量。
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]
,但这不起作用。
这可能吗?
答案 0 :(得分:2)
是的,就像这样:
[#assign capturedOutput][@(var1!'')?interpret /][/#assign]
${capturedOutput} [#-- Attention! Put this into #noescape if you are inside #escape! --]
请注意,!''
后缀必须在?interpret
之前,否则它不会执行任何操作(因为?interpret
的结果始终为非空)。