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; } }
最近下载更多
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日
chengqian1 LV5
2021年4月20日