ztree学习之异步加载节点(一)
ztreedemo.jsp:
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'ztreedemo.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <link rel="stylesheet" href="<%=basePath%>/ztree/css/demo.css" type="text/css">
- <link rel="stylesheet" href="<%=basePath%>/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
- <script type="text/javascript" src="<%=basePath%>/ztree/js/jquery-1.4.4.min.js"></script>
- <script type="text/javascript" src="<%=basePath%>/ztree/js/jquery.ztree.core-3.5.js"></script>
- <script type="text/javascript" src="<%=basePath%>/js/test/ztreedemo.js"></script>
- </head>
- <body>
- <ul id="treeDemo" class="ztree"></ul>
- </body>
- </html>
ztreedemo.js:
- $(document).ready(function(){
- initMyZtree();
- });
- var zNodes="";
- var setting = {
- view: {
- selectedMulti: false,
- fontCss: setFontCss
- },
- async: {
- enable: true,
- url:"getZtreeData",
- autoParam:["id"]
- },
- callback: {
- beforeClick: beforeClickZtree
- }
- };
- function initMyZtree(){
- $.ajax({
- type: "POST",
- dataType: "json",
- url: 'getZtreeData',
- success: function(data) {
- zNodes=data;
- $.fn.zTree.init($("#treeDemo"), setting, zNodes);
- }
- });
- }
- //单击事件
- function beforeClickZtree(treeId, treeNode){
- alert(treeNode.id+","+treeNode.name);
- }
- //设置字体
- function setFontCss(treeId, treeNode) {
- if(treeNode.level==0){
- return {'font-weight':'bold','color':'red'};
- }else if(treeNode.level==1){
- return {'font-weight':'bold','color':'green'};
- }else if(treeNode.level==2){
- return {'font-weight':'bold','color':'blue'};
- }else{
- return {};
- }
- };
CZTestAction.java:
- package com.cz.action;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.http.HttpServletResponse;
- import net.sf.json.JSONArray;
- import org.apache.struts2.ServletActionContext;
- import com.cz.model.TreeNode;
- import com.cz.util.SqlHelper;
- import com.opensymphony.xwork2.ActionSupport;
- public class CZTestAction extends ActionSupport{
- private String id;
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- /**
- * @author chenzheng
- * @since 2013-8-21
- * @Description: ztree测试
- * @throws
- * @return
- * String
- */
- public String getZtreeData(){
- System.out.println("*********"+id+"**********");
- if("null".equals(id)||"".equals(id)||id==null){
- id="0";
- }
- String sql="select t.jgid,t.jgmc,t.fjgid,t.jgbm,(select count(*) from sys_dept sd where sd.fjgid=t.jgid) as ispar from SYS_DEPT t where t.fjgid="+id;
- ResultSet rs=SqlHelper.executeQuery(sql, null);
- JSONArray jarray=new JSONArray();
- List<TreeNode> list=new ArrayList<TreeNode>();
- try {
- while(rs.next()){
- TreeNode tnode=new TreeNode();
- tnode.setId(rs.getString(1));
- tnode.setName(rs.getString(2));
- tnode.setpId(rs.getString(3));
- //判断当前节点是否还有子节点
- if(Integer.parseInt(rs.getString(5))>0){
- tnode.setIsParent(true);
- tnode.setHasChild(true);
- }else{
- tnode.setIsParent(false);
- tnode.setHasChild(false);
- }
- list.add(tnode);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- jarray.addAll(list);
- System.out.println(jarray.toString());
- HttpServletResponse response = ServletActionContext.getResponse();
- response.setCharacterEncoding("utf-8");
- PrintWriter pw = null;
- try {
- pw = response.getWriter();
- pw.write(jarray.toString());
- } catch (IOException e) {
- e.printStackTrace();
- }
- pw.flush();
- pw.close();
- return null;
- }
- }
TreeNode.java:
- package com.cz.model;
- public class TreeNode {
- private String id;
- private String pId;
- private String name;
- private Boolean isParent;
- private Boolean hasChild;
- 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 Boolean getIsParent() {
- return isParent;
- }
- public void setIsParent(Boolean isParent) {
- this.isParent = isParent;
- }
- public Boolean getHasChild() {
- return hasChild;
- }
- public void setHasChild(Boolean hasChild) {
- this.hasChild = hasChild;
- }
- }
效果图:
本文转自:http://xiaoxiaomuyu.iteye.com/blog/1929490
ztree学习之异步加载节点(一)的更多相关文章
- ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据
为了实现如图所示的树状结构图,并使列表项可拖动到盒子里,研究了ztree这个插件的使用,并仔细研究了列表项的拖动事件.完成了预期需求,对jQuery的运用得到了提高.这个插件的功能非常强大,除了基本的 ...
- 关于AJAX异步加载节点无法触发点击事件问题的解决方式
做练习的过程中遇到一个问题,使用AJAX异步新增一个节点,无法触发点击事件,经过查阅之后知道一个方式,使用JS的委托事件,在此做一个记录. $(document).on('click', '.recr ...
- ztree异步加载---------补发周日内容
上周六老师要求和大三的进行JAVA知识交流,总体来说就是给大三学长做的东西打分,然后大三学长再教我们如果构建ztree.毕竟第一次接触ztree,所以有很多不了解,但通过周六日努力,还是做出来了.现在 ...
- ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
在使用ztree插件实现异步加载时遇到后台RESTEasy接收参数问题,查看后台报错: A servlet request to the URI http://localhost:8080/area/ ...
- 插件使用一树形插件---zTree一zTree异步加载
zTree 可以实现异步加载.异步加载可以让初次加载速度快,带来好的用户体验. 异步加载 官方源码中的demo提示了例子.例子是采用php语言. 在java语言中,zTree如何与Servlet结合呢 ...
- Jquery Ztree异步加载树
1. 下载jquery的JS文件/ztree的CSS文件和JS文件 https://jquery.com/download/ https://gitee.com/zTree/zTree_v3/tree ...
- 演化理解 Android 异步加载图片
原文:http://www.cnblogs.com/ghj1976/archive/2011/05/06/2038738.html#3018499 在学习"Android异步加载图像小结&q ...
- Ztree异步加载自动展开节点
在Ztree的官网Demo中,有自动展开的例子,是通过设置节点属性open:true来实现自动展开的,但是在异步加载中,这个属性设置为true也不会自动展开,因为open:true是指在有子节点的情况 ...
- ztree异步加载树节点
参考文档:https://www.cnblogs.com/tenWood/p/8620708.html ztree api地址:http://www.treejs.cn/v3/api.php 说明:j ...
随机推荐
- 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续
目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...
- HTML表单元素登陆界面
<form action="" method="post" name="myform"><p>E-mail:< ...
- Expected MultipartHttpServletRequest: is a MultipartResolver configured?
2015-05-05 19:09:47.510::WARN: /purchase/long-term-contract/uploading.htmjava.lang.IllegalArgumentEx ...
- 父页面刷新 保持iframe页面url不变
思路:点击父页面时写cookies-->刷新时从cookies中奖内容读取出来. 本文转自:http://blog.163.com/sdolove@126/blog/static/1146378 ...
- Android clickable 和 focusable
setClickable(),好像是控制按钮是否可以被点击和点击之后触发监听器事件.setFocusable();控制键盘是否可以获得这个按钮的焦点.(我按实体键盘上方向键,button被选中) 今天 ...
- Window环境下Python和Django的安装
转载地址:http://blog.csdn.net/haoni123321/article/details/7593821 1.下载python,本文使用python-2.7.2.msi 2.下载dj ...
- 解决Unable to reach a settlement: [diffie-hellman-group1-sha1, diffie-hellman-group-exchange-sha1] and [curve25519-sha256@li
SharpSSH或JSCH使用diffie-hellman-group1-sha1和diffie-hellman-group-exchange-sha1密钥交换算法,而OpenSSH在6.7p1版本之 ...
- Shopping(hdu 3768)
题意:给你一个无向图,求从0号点开始遍历所有的指定点再回到0号点的最短路径 #include<cstdio> #include<iostream> #include<qu ...
- Android手势锁实现
最终效果如下 整体思路 a.自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈 ...
- .net学习笔记----会话状态Session
一.会话状态Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端) ...