我有一个用例,我想递归处理自由标记处理的结果。
因此,如果我有一个包含以下数据的Map变量
var = {"a" : "${b}", "b" : "Value I want"}
我的输入字符串是
"Input string is ${a}"
如果我使用Template.process(var,stringWriter)处理一次,则得到结果
"Input string is ${b}"
我需要再次处理以得到
"Input string is Value I want"
我正在寻找的是像Template.process(var,stringWriter)这样的内置函数,它对结果进行迭代处理。是否存在这样的功能?
我可以自己递归处理,但我正在寻找是否已存在这种功能。
注意:我要发布第一个问题,所以请不要介意我错过了一些规范
看起来您需要一个数据模型,其中的键是a
,b
等,其值将是TemplateScalarModel
-s,其中getAsString
会懒惰地创建(通过new Template
),使用相同的数据模型处理模板,然后存储其结果供以后重用。您还需要共享一组正在处理的变量名,以检测循环依赖项。