您好,登錄后才能下訂單哦!
ztree生成樹狀圖
ztree官網
前臺
導入js和css包
下載地址
前端頁面 ztree.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" isELIgnored="false" %> <!DOCTYPE html> <HTML> <HEAD> <TITLE>ztree</TITLE> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="${pageContext.request.contextPath}/Css/demo.css" type="text/css"> <link rel="stylesheet" href="${pageContext.request.contextPath}/Css/zTreeStyle/zTreeStyle.css" type="text/css"> <script type="text/javascript" src="${pageContext.request.contextPath}/Js/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/Js/jquery.ztree.core-3.5.js"></script> <SCRIPT type="text/javascript"> //初始化 var setting = { data: { simpleData: { enable: true } }, callback: { beforeClick: beforeClick } }; //數據集 var zNodes =[ //根據這種格式生成樹狀圖 // {id:1, pId:0, name:"河北省"}, // {id:12, pId:1, name:"石家莊"}, // {id:13, pId:1, name:"邢臺"}, // {id:14, pId:1, name:"邯鄲"}, // {id:2, pId:0, name:"北京市"}, // {id:22, pId:2, name:"海淀區"}, // {id:23, pId:2, name:"朝陽區"}, // {id:24, pId:2, name:"長安區"} ]; //點擊后的操作 function beforeClick(treeId, treeNode, clickFlag) { //獲取父窗口中id為Text1 var parentControl=parent.document.getElementById("Text1"); //把值設置為treeNode.name; parentControl.value=treeNode.name; } //訪問控制層,獲取數據。 $(document).ready(function(){ var url="${pageContext.request.contextPath}/menu/findZtree"; $.getJSON(url,{},function(nodes){ //alert(nodes); console.log(JSON.stringify(nodes)); zNodes=nodes; $.fn.zTree.init($("#treeDemo"), setting, zNodes); }) }); </SCRIPT> </HEAD> <BODY> <div class="content_wrap"> <div class="zTreeDemoBackground left"> <ul id="treeDemo" class="ztree"></ul> </div> </div> </BODY> </HTML>
后臺
ztree所需實體類
package com.shp.dev.common; public class Ztree { private String id; private String pId; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getpId() { return pId; } public void setpId(String pId) { this.pId = pId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Ztree() { } public Ztree(String id, String pId, String name) { this.id = id; this.pId = pId; this.name = name; } @Override public String toString() { return "Ztree{" + "id='" + id + '\'' + ", pId='" + pId + '\'' + ", name='" + name + '\'' + '}'; } }
dao接口
package com.shp.dev.menu.dao; import com.shp.dev.menu.pojo.Menu; import java.util.List; public interface MenuDao { List<Menu> queryAll(); }
dao的實現類
package com.shp.dev.menu.dao; import com.shp.dev.menu.pojo.Menu; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import java.util.List; @Repository("menuDao") public class MenuDaoImpl implements MenuDao{ @Autowired private SessionFactory sessionFactory; @Override public List<Menu> queryAll() { return sessionFactory.getCurrentSession().createQuery("from Menu").list(); } }
業務接口
package com.shp.dev.menu.service; import com.shp.dev.menu.pojo.Menu; import java.util.List; public interface MenuService { List<Menu> queryAll(); }
業務實現層
package com.shp.dev.menu.service; import com.shp.dev.menu.dao.MenuDao; import com.shp.dev.menu.pojo.Menu; import com.shp.dev.role.dao.RoleDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service("menuService") public class MenuServiceImpl implements MenuService{ //@Transactional(readOnly = true)//只讀事務 // @Transactional(rollbackFor = Exception.class)//啟動事務,所有異常都回滾 @Autowired private MenuDao menuDao; @Override @Transactional(readOnly = true)//只讀事務 public List<Menu> queryAll() { return menuDao.queryAll(); } }
控制層
package com.shp.dev.menu.web; import com.shp.dev.common.Ztree; import com.shp.dev.menu.pojo.Menu; import com.shp.dev.menu.service.MenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.List; @Controller @RequestMapping("/menu") public class MenuController { @Autowired private MenuService menuService; @RequestMapping("/findZtree") @ResponseBody // 返回json對象 public List<Ztree> findZtree(){ List<Ztree> menus=new ArrayList<Ztree>(); List<Menu> query = menuService.queryAll(); for (Menu m : query) { menus.add(new Ztree(m.getId(),m.getParent_id(),m.getName())); } return menus; } }
總結
以上所述是小編給大家介紹的spring+srpingmvc+hibernate實現動態ztree生成樹狀圖,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。