假设我在 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 等。
在执行模板之前,这两个引擎中的一个/两个是否有办法获取所需变量的列表?一种对每个属性值进行惰性求值的方法
编辑:我不知道当我必须评估它时模板会是什么样子,因为它将由用户定义。甚至他们提供的变量也是用户定义的字符串——这就是为什么我需要在提供数据之前获取(和分析)它们。