ztree异步加载,后台action中如何拼接json数据呢?
ztree吧
全部回复
仅看楼主
level 3
QQ799184056 楼主
private String test(int parentId) throws Exception {
// 把顶层的查出来
List<SemsNode> nodes = semsNodeServiceImpl.getAllSemsNode(parentId);
for (int i = 0; i < nodes.size(); i++)
{
SemsNode node = nodes.get(i);
// 有子节点
if (node.getNoishaschild() == 1){
str += "{id:\"" + node.getNoid()+"\",open:\"false\",name:\"" +node.getNoname()+"\",url:\""+node.getNoaddr()
+"\",pid:\""+node.getNopid()+"\",layer:\""+node.getNolayer()+"\",target:\"_blank\" ,";
str += "children:[";
// 查出它的子节点
List<SemsNode> list = semsNodeServiceImpl.getAllSemsNode(node.getNoid());
// 遍历它的子节点
for (int j = 0; j < list.size(); j++)
{
SemsNode node1 = list.get(j);
//还有子节点(递归调用)
if (node1.getNoishaschild() == 1)
{
str += "{id:\"" + node1.getNoid()+"\",open:\"false\",name:\"" +node1.getNoname()+"\",url:\""+node1.getNoaddr()
+"\",pid:\""+node1.getNopid()+"\",layer:\""+node1.getNolayer()+"\",target:\"_blank\",";
str += "children:[";
this.getJson(node1.getNoid());
str += "]";
str += "}";
if (i < list.size() - 1)
{
str += ",";
}
}
else
{
str += "{id:\"" + node1.getNoid()+"\",open:\"false\",name:\"" +node1.getNoname()+"\",url:\""+node1.getNoaddr()
+"\",pid:\""+node1.getNopid()+"\",layer:\""+node1.getNolayer()+"\",target:\"_blank\"}";
if (j < list.size() - 1)
{
str += ",";
}
}
}
str += "]";
str += "}";
if (i < nodes.size() - 1)
{
str += ",";
}
}else{
str += "{id:\"" + node.getNoid()+"\",open:\"false\",name:\"" +node.getNoname()+"\",url:\""+node.getNoaddr()
+"\",pid:\""+node.getNopid()+"\",layer:\""+node.getNolayer()+"\",target:\"_blank\"}";
}
}
return str;
}
/**
* 节点查询
* @return
* @throws Exception
*/
public String list() throws Exception {
// TODO Auto-generated method stub
try {
this.jsonData= "[";
this.jsonData+= getJson(0);
this.jsonData+= "]";
System.out.println(jsonData);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return "jsonData";
}
我的是这样写的,最后拼接成jsonData返回到页面,但是一次性全部查询出来了,没有异步加载的效果。树哥,请指点呀,后台数据如何拼接,前台才会有异步加载效果(展开父节点,才回查询显示出子节点)
2013年08月27日 07点08分 1
level 11
后台的接口根据父节点的id 决定生成哪一级节点的数据集合,每次之返回一个父节点下面的子节点数据。。。如果父节点id 为空的时候,返回根节点数据集合就是了
2013年08月31日 08点08分 2
1