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中的return和闭包函数浅析
Jun 06 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
Jun 24 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
跟我学习javascript的浮点数精度
Nov 16 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
jQuery增加、删除及修改select option的方法
Aug 19 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
Dec 05 Javascript
js实现AI五子棋人机大战
May 28 Javascript
Vue 实现分页与输入框关键字筛选功能
Jan 02 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP HTML代码串截取代码
2008/12/29 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
基于BootStrap实现局部刷新分页实例代码
2016/08/08 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
tornado 多进程模式解析
2018/01/15 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
大学生军训自我评价分享
2013/11/09 职场文书
节能减耗标语
2014/06/21 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
活动总结书怎么写
2015/05/11 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
详解PHP Swoole与TCP三次握手
2021/05/27 PHP