假设我在pebble或freemarker(我正在考虑使用的两个引擎)中都有一个模板。它可能是这个样子:对Pebble/Freemarker变量/插值的懒惰评估
<Node>
<Element attribute="{{ VAR_A }}"/>
<Element attribute="{{ VAR_F }}"/>
<Element attribute="{{ VAR_N }}"/>
</Node>
在我的Java代码,我将需要提供包含这些变量的,我相信可以只是地图变量名的两个引擎对象的对象。
但是为了生成数据模型,我需要知道要为哪些变量计算值。我有很多数据。我不想计算所有的VAR_A,VAR_B,VAR_C,VAR_D,VAR_E等,如果他们不会被使用。
在执行模板之前,在这些引擎中是否有一种方法可以获取所需变量的列表?一种方法来做每个属性值的延迟评估
编辑:我不知道当我必须评估它,因为它将由用户定义模板将看起来像。即使他们提供的变量将是用户定义的字符串 - 这就是为什么我需要(并分析)他们,然后才能提供数据。
你问你的模型是否可以做属性值的懒惰评估? – Raedwald
基本上,是的。 – AdamBourke