相信大家都extjs tree都比较了解了,对于树形结构比较便捷。但是在分层树中,如果每层都要加载大量数据时,就会出现加载速度过慢的问题,有时会长达几分钟。
为了解决这个问题,要采用异步加载的办法,即aysnctreenode,treepanel中有一个配置项,treeloader,可以指定数据加载的dataUrl地址,返回树形格式的数据。
在java中,可以采用json个数传输。对应的树形结构为 class TreeNode{ string id; string text; boolean isLeaf; string cls; ....}; 然后封装成json字符串,返回到前台
JSONARRAY.FROMobject(treelist)。
最主要的是,异步加载的原理:首先加载第一级节点,给treepanel设置beforenodeexpand事件,在事件中发出ajax请求,把子节点返回回来,加载到父节点下。