CommonTemplate准备增加对树结构递归迭代的支持

在应用程序开发中, 经常用到树结构, 如组织机构树, 功能菜单树等等.
树的通常表示为对象内部持有子节点方式, 如:
class Menu {
	String name;
	List<Menu> children;
}

显示时, 递归迭代, 直到children为空或零为止.
用普通的for循环是很难做到的. 如:
$for{menu: menus}
	$for{child: menu.children}
		...
	$end
$end

所以考虑增加一个指令, 可进行内递归循环, 如:
$recur{menu : menus -> children} // -> 后可以为lambda表达式, 如: -> xxx? xxx.children : yyy.children
	${super.menu} // 内递归时, 可以用"super.menu"取到上层菜单.
$end

当然, 指令的具体方案有待考虑,
是否用"recur"命名也有待斟酌,
或者直接用"$tree"? 那样"$for"指令是否类似的用"$list"?

你可能感兴趣的:(html,C++,c,C#,commontemplate)