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 iframe编程相关代码
Dec 28 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
jQuery插件制作之全局函数用法实例
Jun 01 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 Javascript
vue2.0多条件搜索组件使用详解
Mar 26 Javascript
浅谈react性能优化的方法
Sep 05 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
Aug 07 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
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
python进程与线程小结实例分析
2018/11/11 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
jQuery Position方法使用和兼容性
2017/08/23 jQuery
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
python 实现敏感词过滤的方法
2019/01/21 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python如何调用字典的key
2020/05/25 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
经典演讲稿范文
2013/12/30 职场文书
应届毕业生自荐信
2014/05/28 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
统计员岗位职责范本
2015/04/14 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
python如何正确使用yield
2021/05/21 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python