前臺(tái)代碼:
目前創(chuàng)新互聯(lián)建站已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、仁化網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1、html部分
<div style="width: 99%; height: 80%; margin-top: 4px; border: solid 0px #44c5e4; float: left; text-align: left; OVERFLOW-Y: auto; OVERFLOW-X: auto;">
<ul id="knowledgeTree" class="ztree"></ul>
</div>
2、js部分代碼:
$knowledgeTree ="";
var setting = {
check: {
enable: false, //顯示復(fù)選框或者radio
chkStyle: "checkbox", //復(fù)選框或者radio
chkboxType: { "Y" : "ps", "N" : "ps" } //控制關(guān)系
},
view: {
selectedMulti: false, //true/false分別表示 支持/不支持 同時(shí)選中多個(gè)節(jié)點(diǎn)
showTitle: true, //true/false 分別表示 顯示 /隱藏 提示信息(即鼠標(biāo)移動(dòng)到節(jié)點(diǎn)上時(shí),自動(dòng)彈出的提示信息圖層)
showIcon:false
},
data: {
key: {
name: "name", //設(shè)置 zTree 顯示節(jié)點(diǎn)名稱的屬性名稱
title: "title" //設(shè)置 顯示節(jié)點(diǎn)提示信息的屬性名稱。[setting.view.showTitle = true 時(shí)生效]
},
simpleData: {
enable: true, //是否使用簡(jiǎn)易JSON格式數(shù)據(jù)(非父子結(jié)構(gòu))
idKey: "id", //設(shè)置 zTree 顯示節(jié)點(diǎn)名稱的節(jié)點(diǎn)名稱
pIdKey: "pid", //設(shè)置 zTree 簡(jiǎn)易數(shù)據(jù)的父節(jié)點(diǎn)名稱
rootPId: "-1" //最上層父節(jié)點(diǎn)
}
},
callback: {
onClick: onClick
}
};
jQuery(document).ready(function(){
$.ajax({
url : localBasePath + "/servlet/KnowledgeToolServlet",
type : "post",
dataType : "json",
success : function(dataObj) {
$knowledgeTree = $.fn.zTree.init($("#knowledgeTree"), setting, dataObj);
}
});
});
3、servlet部分代碼:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
KnowledgeService ks=new KnowledgeService();
List<TreeNode> treeNodeList=ks.searchKonwldgeTree();
String treeNodeJson = JSONSerializer.toJSON(treeNodeList).toString();
out.print(treeNodeJson);
out.flush();
out.close();
}
其中KnowledgeService.searchKonwldgeTree()代碼如下:
//查詢知識(shí)庫樹
public List<TreeNode> searchKonwldgeTree() {
StringBuffer sql = new StringBuffer();
Connection conn = null;
Statement stmt = null;
List<Knowledge> knowlList = new ArrayList<Knowledge>();
List<TreeNode> treeNodeList = new ArrayList<TreeNode>();
ResultSet rs = null;
try {
conn = newdom.getConnection();
stmt = conn.createStatement();
conn.setAutoCommit(false);
sql.append(" select skl.knowid, skl.usedoctype,sed.typename,skl.knowname,skl.knowtext from SBL_KNOWLEDGE_LIB skl,SZD_EMR_DOCTYPE sed ";
sql.append(" order by skl.usedoctype ");
System.out.println(sql.toString());
rs = stmt.executeQuery(sql.toString());
while (rs.next()) {
Knowledge knowledge=new Knowledge();
knowledge.setId(rs.getString("knowid"));
knowledge.setName(rs.getString("knowname"));
knowledge.setDocType(rs.getString("usedoctype"));
knowledge.setDocTypeName(rs.getString("typename"));
knowledge.setContent(rs.getString("knowtext"));
knowlList.add(knowledge);
}
} catch (Exception ex) {
log.error("查詢知識(shí)庫樹錯(cuò)誤");
ex.printStackTrace();
} finally {
newdom.close(conn, stmt, rs);
}
String typeTemp="";
for(Knowledge knowledge:knowlList){
TreeNode treeNode = new TreeNode();
if(!knowledge.getDocType().equals(typeTemp)){
TreeNode treeNodeParent = new TreeNode();
treeNodeParent.setId(knowledge.getDocType());
treeNodeParent.setName(knowledge.getDocTypeName());
treeNodeParent.setIsParent("true");
treeNodeParent.setChecked("true");
treeNodeParent.setOpen("false");
treeNodeParent.setPid("-1");
treeNodeParent.setTitle(knowledge.getDocTypeName());
treeNodeList.add(treeNodeParent);
}
typeTemp=knowledge.getDocType();
treeNode.setId(knowledge.getId());
treeNode.setName(knowledge.getName());
treeNode.setTitle(knowledge.getName());
treeNode.setContent(knowledge.getContent());
treeNode.setChecked("true");
treeNode.setOpen("true");
treeNode.setIsParent("false");
treeNode.setPid(knowledge.getDocType());
treeNodeList.add(treeNode);
}
return treeNodeList;
}
大致代碼如上,實(shí)現(xiàn)的思路是將要做成樹的數(shù)據(jù),按照zTree的指定格式,放到一個(gè)list里面,本文中樹的內(nèi)容是表SBL_KNOWLEDGE_LIB ,SZD_EMR_DOCTYPE結(jié)合的數(shù)據(jù),將這些數(shù)據(jù)從數(shù)據(jù)庫中查出來,然后按照實(shí)際需要組裝成所需要的List,然后轉(zhuǎn)換成json格式print出就可以了。這樣ajax里面接收到返回的json格式的對(duì)象后,直接賦值給zTree就完成了一個(gè)樹的簡(jiǎn)單實(shí)現(xiàn)。
文章題目:zTree結(jié)合servlet簡(jiǎn)單使用
轉(zhuǎn)載源于:http://aaarwkj.com/article32/ijpdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄、軟件開發(fā)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)