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 相关文章推荐
jQuery中文入门指南,翻译加实例,jQuery的起点教程
Jan 13 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
对js中回调函数的一些看法
Aug 29 Javascript
深入理解js中的加载事件
Feb 08 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
详细分析JS函数去抖和节流
Dec 05 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
快速处理vue渲染前的显示问题
Mar 05 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 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
星际RPG字典
2020/03/04 星际争霸
PHP中str_replace函数使用小结
2008/10/11 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
详解php命令注入攻击
2019/04/06 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
django 消息框架 message使用详解
2019/07/22 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
美发店5.1活动方案
2014/01/24 职场文书
2014年销售部工作总结
2014/12/01 职场文书
签约仪式致辞
2015/07/30 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
golang定时器
2022/04/14 Golang