我正在使用Freemarker(FMPP)自定义文本文件。我想有定义插值数据的属性文件,如下所示:引用另一个变量的Freemarker变量定义
VAR1=some-value
VAR2=${VAR1}
这是非常从我的实际文件简化,但保留了我的用例的本质。该模板包含形式为${VAR2}
的参考,我期望导致some-value
被内插。相反,内插值是文字${VAR1}
。
请注意,这与Can a freemarker interpolation contain an interpolation?不同,它指将变量的值用作变量的名称(间接引用)。另外,can freemarker do second replacement的解决方案涉及修改模板。我希望替换在模板处理之前在概念上发生,因此模板只能引用${VAR2}
,而不需要知道双重插值。
有没有办法在FreeMarker中做到这一点?
如果不是,有人可以告诉我Velocity是否会轻松做到这一点?
这就是我的想法,我已经来了相同的结论。我研究了两步解决方案,首先将属性变量作为模板处理(替换外部参数),然后将其作为“真实”模板上第二次转换的输入。 –