示例功能说明:
基于数据库动态生成目录树
支持无限级节点
核心类说明:
com.treecache.vo.TreeviewVO
节点信息封装对象
com.treecache.dao.TreeviewDAO
TreeviewVO[] find(Integer parentid)
根据父节点ID查询所有子节点
com.treecache.tools.cache.TreeCache
loadTreeCache()
加载数据库中的目录树结构
getNode(TreeviewDAO treeviewDAO, TreeviewVO node,TreeviewVO root)
以递归方式从数据库中获取节点
buildTreeItems(TreeviewVO node)
递归方式拼接目录树的子节点
buildTree()
生成目录树的入口方法,其它类只需调用该方法返回生成目录树后的字符串
然后在页面用out对象输出即可.
实现方案:
<1>本例预定目录树节点的父节点为0时,该节点为树根
<2>TreeviewVO类为节点信息封装对象
<3>通过递归调用方法,根据父节点ID从数据库查询子节点,完成所有节点的关联后生成一个TreeviewVO对象:treenode
<4>通过递归方法遍历treenode对象,拼接可以在页面输出的js字符串:tree
注意:该示例需要struts1.2支持,请自行添加jar包!