package com.cn.ztree.action; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import com.cn.ztree.bean.Node; import com.cn.ztree.util.JsonUtil; import net.sf.json.JSONArray; public class MenuAction extends BasicAction { private static final long serialVersionUID = -4761611752996052175L; public String getMenuInfo(){ String flag=request.getParameter("flag"); System.out.println(flag); if(flag.equals("init")){//直接加载ztree List<Node> list = getTrees();//得到所有节点 try { JSONArray json=JsonUtil.convertListToJson(list); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/html; charset=UTF-8"); PrintWriter writer; writer = response.getWriter(); writer.write(json.toString()); writer.close(); } catch (Exception e) { e.printStackTrace(); } }else if(flag.equals("ajax")){//延迟加载ztree String id = request.getParameter("id"); if(id==null){//第一次进入初始化父节点 List<Node> list = new ArrayList<Node>(); Node in1=getById(1); Node in5=getById(5); list.add(in1); list.add(in5);//测试用的,得到初始化0级父节点,应该从数据库中获取。 try { JSONArray json=JsonUtil.convertListToJson(list); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/html; charset=UTF-8"); PrintWriter writer; writer = response.getWriter(); writer.write(json.toString()); writer.close(); } catch (Exception e) { e.printStackTrace(); } }else{//根据父节点id加载对应的子节点 List<Node> list = getChilds(Integer.valueOf(id));//通过父id取得子节点集合,测试就自己写个方法,应该从数据库中获取。 try { JSONArray json=JsonUtil.convertListToJson(list); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/html; charset=UTF-8"); PrintWriter writer; writer = response.getWriter(); writer.write(json.toString()); writer.close(); } catch (Exception e) { e.printStackTrace(); } } } return null; } public List<Node> getTrees() { Node in = new Node(); in.setId(1); in.setpId(0); in.setIsParent("true"); in.setName("父节点1"); Node in1 = new Node(); in1.setId(2); in1.setpId(1); in1.setName("子节点11"); in1.setIsParent("true"); Node in2 = new Node(); in2.setId(3); in2.setpId(1); in2.setName("子节点12"); Node in3 = new Node(); in3.setId(4); in3.setpId(2); in3.setName("子节点111"); Node in4 = new Node(); in4.setId(5); in4.setpId(0); in4.setIsParent("true"); in4.setName("父节点2"); Node in5 = new Node(); in5.setId(6); in5.setpId(5); in5.setName("子节点21"); List<Node> list = new ArrayList<Node>(); list.add(in); list.add(in1); list.add(in2); list.add(in3); list.add(in4); list.add(in5); return list; } public Node getById(Integer id) { List<Node> list = getTrees(); for (Node Node : list) { if (id == Node.getId()) { Node in = Node; return in; } } return null; } public List<Node> getChilds(Integer id) { List<Node> list = getTrees(); List<Node> result = new ArrayList<Node>(); for (Node Node : list) { if (id.intValue() == Node.getpId().intValue()) { result.add(Node); } } return result; } }
最近下载更多
微信网友_7161776601190400 LV1
9月10日
xluser LV2
2022年8月23日
1234mama LV19
2022年4月18日
2235140624 LV17
2022年3月29日
清江纸 LV2
2021年11月15日
huaua7676 LV30
2021年8月28日
zhanghangzhou LV1
2021年7月15日
猫旅人 LV1
2021年7月8日
34992311 LV6
2021年6月20日
a1017514773 LV6
2021年4月28日