你好freemarkers大师
我知道freemarker函数和宏之间的区别在于宏可以打印到输出,但不能返回值,而函数可以返回值但不能打印到输出。
好吧,我遇到了问题,因为我需要打印和返回值:
我正在使用 freemarker 进行递归树探索,因此我有一个被递归调用的宏。在探索树时,我既需要将节点信息打印到输出,还需要计算并返回有关所探索节点的统计信息(例如所探索节点的特定属性的总和)
如果我使用递归调用宏,我可以打印节点信息,但不能将统计信息返回给调用实体。
如果我使用递归调用的函数,我可以返回统计信息,但不能在输出中打印节点信息。
一种解决方案可能是探索树两次,一次打印节点信息,另一次收集统计信息,但我讨厌使用这种不雅的解决方案。
有人可以提出更好的解决方案吗?
谢谢