jquery中EasyUI实现异步树


Posted in Javascript onMarch 01, 2015

前台使用EasyUI实现 . EasyUI向后台传递一个id参数 .

第一次加载 , 向后台传递的id为null .

之后每次将树节点展开 , 会向后台传递一个当前节点的 id .

Control层 :

 /**

  * tree

  */

 @RequestMapping(value = "/tree.do")

 public void mytree(HttpServletResponse response, String id) {

  this.writeJson(response, bookService.getChildrenTree(id));

 }

Service层 :

 @Transactional

 @Override

 public List<Tree> getChildrenTree(String pid) {

  try {

   List<Tree> result = new ArrayList<Tree>();

   //获得儿子节点的列表

   List<TBookType> childrenList = this.getChildrenType(pid);

   if (childrenList != null && childrenList.size() > 0) {

    for (TBookType child : childrenList) {

     // 获取孙子的个数

     long count = bookDao.getChildrenCount(String.valueOf(child.getId()));

     Tree node = new Tree();

     node.setId(String.valueOf(child.getId()));

     node.setPid(String.valueOf(child.getPid()));

     node.setText(child.getName());

     node.setChildren(null);

     node.setState(count > 0 ? "closed" : "open");

     //将儿子列表childrenList数据逐个存到树当中

     result.add(node);

    }

   }

    return result; 

  } catch (Exception e) {

   throw new BusinessException("获取图书类型数据出现错误!", e);

  }

 }

Dao层 :

 @Override

 public List<TBookType> getChildrenType(String pid) {

 //这个的pid就是当前展开节点的id , 通过父节点的 id 来获得子节点

 StringBuilder sqlstr = new StringBuilder();

  if (StringUtils.isBlank(pid))

   sqlstr.append("select * from booktype bt where bt.pid=0");

  else

   sqlstr.append("select * from booktype bt where bt.pid=" + pid );

  return this.search2(TBookType.class, sqlstr.toString());

 }
 @Override

 public long getChildrenCount(String pid) {

 //这个的pid就是当前展开节点的id , 通过父节点的 id 来获得子节点的个数

  StringBuilder sqlstr = new StringBuilder();

  if (StringUtils.isBlank(pid))

   sqlstr.append("select count(*) from booktype tb where tb.pid='0'");

  else

   sqlstr.append("select count(*) from booktype tb where tb.pid='" + pid + "'");

  return this.count(sqlstr.toString());

 }

 

以上所述就是本文关于EasyUI实现异步树的全部代码了,希望对大家能有所帮助

Javascript 相关文章推荐
用JavaScript实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
js 获取服务器控件值的代码
Mar 05 Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
js仿黑客帝国字母掉落效果代码分享
Nov 08 Javascript
JS延时器提示框的应用实例代码解析
Apr 27 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
如何使用bootstrap框架 bootstrap入门必看!
Apr 13 Javascript
bootstrap表单示例代码分享
May 18 Javascript
详解Web使用webpack构建前端项目
Sep 23 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
Oct 08 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
jquery中EasyUI实现同步树
Mar 01 #Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
Mar 01 #Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
Mar 01 #Javascript
深入分析Cookie的安全性问题
Mar 01 #Javascript
浅谈JavaScript事件的属性列表
Mar 01 #Javascript
浅析javascript中的DOM
Mar 01 #Javascript
javascript中的正则表达式使用指南
Mar 01 #Javascript
You might like
php xml文件操作代码(一)
2009/03/20 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
用 JSON 处理缓存
2007/04/27 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
Python判断文本中消息重复次数的方法
2016/04/27 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python内置模块collections知识点总结
2019/12/19 Python
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
市场营销专业推荐信
2013/11/03 职场文书
实习生个人的自我评价
2013/12/08 职场文书
学校对教师的评语
2014/04/28 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
2016大一新生军训感言
2015/12/08 职场文书
高二化学教学反思
2016/02/22 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
idea下配置tomcat避坑详解
2022/04/12 Servers