Ztree异步树加载
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异步树加载的更多相关文章
- 爱上MVC3~MVC+ZTree大数据异步树加载
回到目录 理论部分: MVC+ZTree:指在.net MVC环境下进行开发,ZTree是一个jquery的树插件 大数据:一般我们系统中,有一些表结构属于树型的,如分类,地域,菜单,网站导航等等,而 ...
- MVC小系列(十四)【MVC+ZTree大数据异步树加载】
ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// &l ...
- MVC+ZTree大数据异步树加载
实例部分: 首先是为ZTree提供的数据规范,定义一个标准的接口,这样对于前台调用是清楚的,简单的,因为它返回的JSON数据将与ZTree默认的数据元素保持一致 /// <summary> ...
- Jquery插件 之 zTree树加载
原文链接:https://blog.csdn.net/jiaqu2177/article/details/80626730 zTree树加载 zTree 是一个依靠 jQuery 实现的多功能 “树插 ...
- flask+sqlite3+echarts3+ajax 异步数据加载
结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...
- javascript 异步模块加载 简易实现
在javascript是没有类似java或其他语言的模块概念的,因此也不可能通过import或using等关键字来引用模块,这样造成了复杂项目中前端代码混乱,变量互相影响等. 因此在复杂项目中引入AM ...
- Angularjs 异步模块加载项目模板
ng-lazy-module-seed(Angularjs 异步模块加载项目模板) 相信做过SPA项目的朋友都遇到过这个问题:页面初始化时需要加载文件太大或太多了,许多文件加载后很可能不会运行到,这是 ...
- 页面全部加载完毕和页面dom树加载完毕
dom树加载完毕 $(document).ready()//原生写法document.ready = function (callback) { ///兼容FF,Google ...
- Dojo初探之1:AMD规范,编写符合AMD规范(异步模块加载机制)的模块化JS(其中dojo采用1.11.2版本)
一.AMD规范探索 1.AMD规范(即异步模块加载机制) 我们在接触js的时候,一般都是通过各种function来定义一些方法,让它们帮我们做一些事情,一个js可以包含很多个js,而这些functio ...
随机推荐
- Oracle自动执行任务(存储过程)
Oracle自动执行任务(存储过程) SQL> variable job number;SQL> begin2 dbms_job.submit(:job,'存储过程名;',sysdate, ...
- ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
SQL> alter system set smtp_out_server='smtp.126.com' scope=both;alter system set smtp_out_server= ...
- python heapq
这个模块(build-in)实现了一个堆的数据结构,完美的解决了Top-K问题,以后解决Top-K问题的时候,直接把这个模块拿来用就可以了 注意,默认的heap是一个小顶堆! heapq模块提供了如下 ...
- 持续集成 之 apache-continuum
作者:许振坪,http://blog.csdn.net/benkaoya 1.前言 最近在研究持续集成,摸索了很多持续集成的工具,Apache Continuum也包括其中.既然飞过,那就留下点什么吧 ...
- 常用Python第三方库 简介
如果说强大的标准库奠定了python发展的基石,丰富的第三方库则是python不断发展的保证,随着python的发展一些稳定的第三库被加入到了标准库里面,这里有6000多个第三方库的介绍:点这里或者访 ...
- 64位windows8的 IIS运行32位COM组件报错的解决
浏览时报错如下: Microsoft VBScript 运行时错误 错误 '800a01ad'ActiveX 部件不能创建对象: 'sqlcomp.FileSystemObject'/config.a ...
- vb socket的使用
说明:原本在 csdn 博客 写博客的,因为使用的移动宽带,csdn的 博客无法访问,所以先暂时到博客园写博客了 有能解决移动宽带 有部分网站不能访问的问题,请联系我,QQ 809775607 /** ...
- 关于继承UITableViewController若干问题
// // MSHomeCommentTableViewController.m // xiaoqu-ios // // Created by Charlie on 15/7/1. // Copyri ...
- 解决Oracle 11gR2 空闲连接过多,导致连接数满的问题
今天又遇到了11gR2连接数满的问题,以前也遇到过,因为应用那边没有深入检查,没有找到具体原因,暂且认为是这个版本Oracle的BUG吧. 上次的处理办法是用Shell脚本定时在系统中kill v$ ...
- WinSetupFromUSB – Install Windows XP from USB Flash Drive
http://myeeeguides.wordpress.com/2008/11/15/winsetupfromusb-install-windows-xp-from-usb-flash-drive/ ...