在JS中,将显示树的url地址写成control的地址即可.
control:
@RequestMapping(value = "/tree")
public void tree(HttpServletRequest request, HttpServletResponse response) throws IOException {
this.writeJson(response, bookService.getTree());
}
dao:
/**
* 获取树
*/
@Override
public List getTree(){
try {
List trees = new ArrayList();
List root = this.search(0);
if(root != null && root.size() > 0){
for(TBookType tb : root){
Tree rootnode = this.getNode(tb);
rootnode.setState("open");
trees.add(rootnode);
}
}
return trees;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 递归
*/
private Tree getNode(TBookType node){
if(node == null){
return null;
}
try {
Tree treenode = new Tree();
treenode.setId(String.valueOf(node.getId()));
treenode.setText(node.getName());
treenode.setPid(String.valueOf(node.getPid()));
List children = this.search(node.getId());
if(children != null && children.size() > 0){
treenode.setState("closed");
for(TBookType child : children){
Tree childnode = this.getNode(child);
if(childnode != null){
treenode.getChildren().add(childnode);//递归
}
}
}
return treenode;
} catch (Exception e) {
throw new BusinessException("获取数据出错!", e);
}
}
以上就是使用EasyUI实现同步树的全部核心代码了,希望大家能够喜欢。