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. 《Microsoft SQL Server企业级平台管理实践》笔记

    - 页是 SQL Server 中数据存储的基本单位,大小为 8KB. - 区是空间管理的基本单位,8个物理上连续的页的集合(64KB). - 页的类型包括: 1. Data 2. Index 3. ...

  2. AngularJS 实战讲义笔记

    第一部分 快速上手 1.1 感受AngularJs四大核心特性(MVC, 模块化,指令系统,双向数据绑定)1.2 搭建自动化的前端开发,调试,测试环境 代码编辑工具 (sublime) 断点调试工具 ...

  3. JS 更改表单的提交时间和Input file的样式

    JS转换时间 function renderTime(data) { var da = eval('new ' + data.replace('/', '', 'g').replace('/', '' ...

  4. PHP 继承,组合,单模式,GUID,等混合实例

    <?php header("Content-type: text/html; charset=utf-8"); header('Access-Control-Allow-Or ...

  5. JS 精粹( 函数)

    函数是对象,它与其它对象唯一的不同是它可以调用.函数可实现:代码复用.信息隐藏.代码组合调用. 建立函数时会建立:上下文.调用函数的代码.每个函数(除Function.prototype)都会有一个原 ...

  6. Python进阶之闭包

    闭包 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","S ...

  7. seajs 学习笔记

    seajs的作者是玉伯,具体好处优点等详见官方网址 介绍 1 模块定义define define(function(require,exports,module){ //require 引入需要的模块 ...

  8. subline text 3的模版设置

    文件目录在这个地方,然后用St3打开,进行模版修改就行了

  9. FAQ: Python中if __name__ == '__main__':作用

    #hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": prin ...

  10. 深入Android媒体存储服务(二):磁盘扫描流程

    简介: 本文是<深入Android媒体存储服务>系列第二篇,简要介绍媒体存储服务扫描文件的流程.文中介绍的是 Android 4.2. Android 有一套媒体存储服务,进程名是 and ...