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

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

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

S2SH+JQuery ztree生成三级级联树形列表菜单1.LoadZTreeAction.java

public 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 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 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 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

method="loadSonTree">

3.applicationContext.xml

4.test.js

var 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

...

    Ajax实现三级联动

    Web.Config中: ----------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- javascript脚本: -----------------------------------------------------------------------------------------------