jquery easyui tree+struts2

  • 格式:doc
  • 大小:43.50 KB
  • 文档页数:3

本来想在网上找个现成的,结果都不合意,大多是拼字符串,好没意思,还是自己来弄个简
单的吧,这棵树和你想象的没任何差别,一个id一个pid完事,其他字段自便..作者扣扣
2387503106,有需要帮助可以联系
Java中代码
public class GoodsAction extends BaseAction{
private static final long serialVersionUID = 1L;

private JSON msg;
private List goodsCategorys;
@Autowired
private transient GoodsService goodsService;//sping注入接口
/**
* easy ui tree的构造 测试
* @return
*/
@Action(value = "goodsTree", results = { @Result(name = SUCCESS, type =
"json", params = { "root", "msg" }) })
public String goodsTree(){
goodsCategorys = goodsService.getAll();
this.msg= createTree(goodsCategorys,0);
return SUCCESS;
}
/**
* 递归函数调用
* @param goods 集合
* @param pid 父节点ID
* @return
*/
private JSON createTree(List goods,long pid){
List> lmjson =new ArrayList>();//
集合对象保存多个构造的map
Map jsonMap = null; //map对象模拟json键值对
for(GoodsCategory gds:goods){
if(pid==gds.getParentId()){//判断父节点是否相同,把相同的,载入一个组

jsonMap = new HashMap();
jsonMap.put("id", gds.getId());
jsonMap.put("text", gds.getName());

if(gds.getType()=='1'){//=1表示有子节点
jsonMap.put("state", "closed");
jsonMap.put("children", createTree(goods,gds.getId()));//载
入子节点
}
lmjson.add(jsonMap);
}
}
return JSONArray.fromObject(lmjson);//map转为json
}

public JSON getMsg() {
return msg;
}
public void setMsg(JSON msg) {
this.msg = msg;
}

}
里面的实体属性主要有下边几个,主要是各位看看如何组装easy ui的tree的格式就好了!
private int id;
private int parentId;//父节点,顶级为0
private int type;//1表示有子节点,默认为0
private String name;//节点名称

Jsp页面代码(省略js,css引入):


    效果图: