当前位置:文档之家› S2SH+JQuery ztree生成三级级联树形列表菜单

S2SH+JQuery ztree生成三级级联树形列表菜单

S2SH+JQuery ztree生成三级级联树形列表菜单1.LoadZTreeAction.javapublic LoadZTreeAction() extends ActionSupport{private static final long serialVersionUID = 4258282097802772367L;private OneDAO oneDAO;private TwoDAO twoDAO;private ThreeDAO threeDAO;//Generate getters and setters//为了提高程序效率,先加载二级级联菜单,当点击子菜单时再动态添加下一级public String loadZTree(){JSONArray jsonArray = new JSONArray();JSONObject one = new JSONObject();JSONObject two = new JSONObject();List<One> listOne = oneDAO.findAll();for(One oTemp:listOne){int pID = -1;one.put("id",oTemp.getID());one.put("pID",pID);one.put("name",oTemp.getName());one.put("url","");one.put("target","rightFrame");jsonObject.add(one);List<Two> listTwo = twoDAO.findByOneId(oTemp.getID());for(Two tTemp : listTwo){two.put("id",tTemp.getID());two.put("pID",oTemp.getID());two.put("name",tTemp.getName());two.put("url","");two.put("target","rightFrame");jsonObject.add(two);}}return null;}public String loadSonTree(){HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding("utf-8");response.contentType("html/text");JSONArray jsonArray = new JSONArray();JSONObject obj = new JSONObject();String twoID = request.getParameter("twoID");List<Three> listThree = threeDAO.findByTwoId(twoID);for(Three thTemp : listThree){obj.put("id",thTemp.getID());obj.put("pId",twoID);obj.put("name",thTemp.getName());obj.put("url","");obj.put("target","rightFrame");jsonArray.add(obj);}try{PrintWriter out = response.getWriter();out.print(jsonArray);out.flush();out.close();}catch(IOException ioe){ioe.printStackTrace();}return null;}}2.struts.xml<package name="test" namespace="/json" extends="json-default"><action name="loadZTree" class="LoadZTreeListAction" method="loadZTree"></action> <action name="loadSonTree" class="LoadZTreeListAction"method="loadSonTree"></action></package>3.applicationContext.xml<bean name="loadZTreeListAction" class="com.action.LoadZTreeAction"><property name="oneDAO"><ref bean="OneDAO"></property><property name="TwoDAO"><ref bean="TwoDAO"></property><property name="ThreeDAO"><ref bean="ThreeDAO"></property></bean>4.test.jsvar setting = {async: {enable: true,url: "json/loadZTree.action",autoParam: ["id"]},asyncParamOther: [],expandSpeed: fast,data: {simpleData: {enable: true,idKey: "id",pIdKey: "pId",rootPid: "-2"}},callback: {onClick: treeNodeClick}};$(document).ready(function() {$.fn.zTree.init($("#treeDemo"), setting);});function treeNodeClick(event,treeId,treeNode){twoID = treeNode.id;var params = {"twoID": twoID};$.ajax({url: "json/loadSonTree.action",type: "post",dataType: "json",data: params,cache: false,error: function(e){e.getMessage();},success: function(jsonArray){var treeObj = $.fn.zTree.getZTreeObj("treeDemo");var newNodes = jsonarray;treeObj.addNodes(treeNode, newNodes);}});}5.test.jsp<link rel="stylesheet" href="css/zTreeStyle/myzTreeStyle.css" type="text/css"></link><script type="text/javascript" src="./js/jquery-1.8.2.js"></script><script type="text/javascript" src="js/jquery.ztree.core-3.4.js" charset="UTF-8"></script> <script type="text/javascript" src="js/test.js" charset="UTF-8"></script>...<body><div><ul id="treeDemo" class="ztree"></ul></div></body>。

相关主题