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 的addEventListener()及attachEvent()区别分析
May 21 Javascript
关于javascript中的typeof和instanceof介绍
Dec 04 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
Jun 01 Javascript
AngularJS 表单验证手机号的实例(非必填)
Nov 12 Javascript
Angular自定义组件实现数据双向数据绑定的实例
Dec 11 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
基于React Native 0.52实现轮播图效果
Aug 25 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
JS异步宏队列微队列原理详解
Sep 09 Javascript
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
使用php4加速网络传输
2006/10/09 PHP
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Angular排序实例详解
2017/06/28 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python import自定义模块方法
2015/02/12 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Django实现文件上传下载
2019/10/06 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
python高级特性简介
2020/08/13 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
合作协议书格式
2014/08/19 职场文书
教师批评与自我批评心得体会
2014/10/16 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
2016年寒假见闻
2015/10/10 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS