jquery中EasyUI实现异步树
作者:bea
前台使用EasyUI实现 . EasyUI向后台传递一个id参数 . 第一次加载 , 向后台传递的id为null . 之后每次将树节点展开 , 会向后台传递一个当前节点的 id . Control层 : 代码如下: /** * tree */ @RequestMapping(value = "/tree.do") public void mytree(HttpServletResponse response, String id) { this.writ
前台使用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实现异步树的全部代码了,希望对大家能有所帮助
有用 | 无用
第一次加载 , 向后台传递的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的模块化开发
- JS实现的4种数字千位符格式化方法分享
- js实现图片漂浮效果的方法
- ECMAScript 5中的属性描述符详解
- JS+CSS实现可以凹陷显示选中单元格的方法
- JavaScript数组常用方法
- 使用npm发布Node.JS程序包教程
- js实现点击链接后窗口缩小并居中的方法
- 运行Node.js的IIS扩展iisnode安装配置笔记
- Javascript动画的实现原理浅析
- JavaScript页面模板库handlebars的简单用法
- EasyUI中实现form表单提交的示例分享
- EasyUI实现二级页面的内容勾选的方法
- EasyUI实现第二层弹出框的方法
- EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
- 浅谈EasyUI中Treegrid节点的删除
- 浅谈EasyUI中编辑treegrid的方法
- EasyUI中combobox默认值注意事项