JSP代码片段

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="${ctx}/thscommon/javascript/jquery-1.7.2.min.js"></script>
<script type="text/javascript"
src="${ctx}/win/javascript/jquery.ztree.core-3.5.js"></script>
<link rel="stylesheet" href="${ctx}/win/css/zTreeStyle/zTreeStyle.css"
type="text/css">
<title>Insert title here</title> <script type="text/javascript">
var setting = {
/* check : {
enable : true,
chkStyle : "radio",
radioType: "id"
}, */
async : {
enable : true,
url : "${ctx}/common/tree/river!getNodeData.action",
autoParam : [ "id" ],
dataFilter : filter
},
callback : {
//beforeClick: beforeClick,
onClick : onClick
}
}; function filter(treeId, parentNode, childNodes) {
if (!childNodes)
return null;
for ( var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
} function onClick(event, treeId, treeNode, clickFlag) {
var win = art.dialog.open.origin;//来源页面
win.snstSet(treeNode.id, treeNode.name,$("#idx").val());
$.dialog.close();
} $(document).ready(function() {
$.fn.zTree.init($("#tree"), setting);
});
//-->
</script>
</head>
<body>
<div class="zTreeDemoBackground left">
<ul id="tree" class="ztree"></ul>
</div>
<input type="hidden" id="idx" name="idx" value="${idx}">
</body>
</html>

action处理如下

public void getNodeData() {
List<Map<String, Object>> nodedata = service.getNodes(this.getId());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> tmp = null;
for (Map<String, Object> map : nodedata) {
tmp = new HashMap<String, Object>();
tmp.put("id", map.get("id"));
tmp.put("name", map.get("name"));
tmp.put("isParent",
Integer.valueOf(map.get("cnt").toString()) > 0 ? true
: false);
list.add(tmp);
}
try {
PrintWriter out;
JSONObject jo = new JSONObject();
response.setCharacterEncoding("gbk");
response.setContentType("text/html; charset=GBK");
out = response.getWriter();
System.out.println(JSONArray.fromObject(list).toString());
out.print(JSONArray.fromObject(list).toString());
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}

  Service处理如下

public List<Map<String, Object>> getNodes(String id) {
return dao.getNodes(id);
}

  Dao处理如下

public List<Map<String, Object>> getNodes(String id) {
List<String> params = new ArrayList<String>();
StringBuffer querySQL = new StringBuffer();
querySQL.append("SELECT tt.wsystemcode id,tt.wsystemname name");
querySQL.append(",(SELECT COUNT (1) cnt FROM datacenter_v3.tcode.t_cod_wsystem t WHERE t.parentcode = tt.wsystemcode) cnt");
querySQL.append(" FROM datacenter_v3.tcode.t_cod_wsystem tt");
querySQL.append(" WHERE 1=1");
if(Tool.isNull(id)){
querySQL.append(" and tt.parentcode is null");
}else{
querySQL.append(" and tt.parentcode = ?");
params.add(id);
}
querySQL.append(" GROUP BY tt.wsystemcode,tt.wsystemname");
querySQL.append(" ORDER BY tt.wsystemcode"); return search(querySQL.toString(), params.toArray());
}

  

Ztree异步树加载的更多相关文章

  1. 爱上MVC3~MVC+ZTree大数据异步树加载

    回到目录 理论部分: MVC+ZTree:指在.net MVC环境下进行开发,ZTree是一个jquery的树插件 大数据:一般我们系统中,有一些表结构属于树型的,如分类,地域,菜单,网站导航等等,而 ...

  2. MVC小系列(十四)【MVC+ZTree大数据异步树加载】

    ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// &l ...

  3. MVC+ZTree大数据异步树加载

    实例部分: 首先是为ZTree提供的数据规范,定义一个标准的接口,这样对于前台调用是清楚的,简单的,因为它返回的JSON数据将与ZTree默认的数据元素保持一致 /// <summary> ...

  4. Jquery插件 之 zTree树加载

    原文链接:https://blog.csdn.net/jiaqu2177/article/details/80626730 zTree树加载 zTree 是一个依靠 jQuery 实现的多功能 “树插 ...

  5. flask+sqlite3+echarts3+ajax 异步数据加载

    结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...

  6. javascript 异步模块加载 简易实现

    在javascript是没有类似java或其他语言的模块概念的,因此也不可能通过import或using等关键字来引用模块,这样造成了复杂项目中前端代码混乱,变量互相影响等. 因此在复杂项目中引入AM ...

  7. Angularjs 异步模块加载项目模板

    ng-lazy-module-seed(Angularjs 异步模块加载项目模板) 相信做过SPA项目的朋友都遇到过这个问题:页面初始化时需要加载文件太大或太多了,许多文件加载后很可能不会运行到,这是 ...

  8. 页面全部加载完毕和页面dom树加载完毕

    dom树加载完毕 $(document).ready()//原生写法document.ready = function (callback) {            ///兼容FF,Google   ...

  9. Dojo初探之1:AMD规范,编写符合AMD规范(异步模块加载机制)的模块化JS(其中dojo采用1.11.2版本)

    一.AMD规范探索 1.AMD规范(即异步模块加载机制) 我们在接触js的时候,一般都是通过各种function来定义一些方法,让它们帮我们做一些事情,一个js可以包含很多个js,而这些functio ...

随机推荐

  1. MSSQL查询连接数

    SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYS ...

  2. juce中的引用计数

    这个类提供了最基本的引用计数管理,界面库中,经常都需要消息发送,而带来的后果就是不知道消息中包含的对象是否还存在,如果不能很好管理的话就容易出现访问销毁了的对象这样的情况,所以,juce的界面无素也基 ...

  3. gtest的Linux使用(Google test)

    GTest是Google开发的跨平台而且开源的C++单元测试框架,很好很强大. 下载地址:https://code.google.com/p/googletest/ . 关于GTest在Windows ...

  4. sql防注入代码

    function defend_sql($string, $force = 1) { $preg = "select|insert|and|or|update|delete|\'|\/\*| ...

  5. js 全局变量

    使用cookies可以设置全局变量 ,由于每次刷新变量都会为初始值,cookies可以作为全局变量的容器

  6. JavaScript装逼指南

    如何写JavaScript才能逼格更高呢?怎样才能组织JavaScript才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句“原来还可以这样写”呢?下面列出一些在JavaScrip ...

  7. 【grunt整合版】学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

  8. 用Servlet实现聊天室设计

    实验一   Servlet编程 一.实验目的 1.熟悉Java EE编程环境JDK和NetBeans的安装,配置和使用: 2.掌握Servlet的编写及部署: 3.掌握Servlet的工作原理和编程接 ...

  9. php的系统常量

    认识一下系统常量 系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有: (1)__FILE__ :php程序文件名.它可以帮助我们获取当前文件在服务器的物理位置. (2)__LI ...

  10. 使用Notepad++开发python配置笔记

    这是我在python学习过程中,收集整理的一些notepadd++环境配置方法. 1.配置制表符 Notepad++ ->"设置"菜单->"首选项" ...