关闭

easyui 中 的同步树(2)

标签: easyuitree同步树
347人阅读 评论(0) 收藏 举报
分类:

在上一篇文章中我写的那个同步树,我是使用了三张表。这次我是把三张表合成一张表,表名是t_academy,实体类名是TAcademy。

1.先看下这个表结构
这里写图片描述
这个表只有三列,id不用解释,text是节点的名称,pid是父节点的id。其中id是自动增长的。

2.看下实体类TAcademy

@Entity
@Table(name = "t_academy", catalog = "xiaonei")
public class TAcademy implements java.io.Serializable {
    // Fields
    private Integer id;
    private String text;
    private String pid;
    private List<TAcademy> children;

    // Constructors
    /** default constructor */
    public TAcademy() {
    }

    @Column(name = "pid")
    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    @Transient
    public List<TAcademy> getChildren() {
        return children;
    }

    public void setChildren(List<TAcademy> children) {
        this.children = children;
    }


    /** full constructor */
    public TAcademy(String text) {
        this.text = text;
    }

    // Property accessors
    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Column(name = "text", length = 36)
    public String getText() {
        return this.text;
    }

    public void setText(String text) {
        this.text = text;
    }

}
//注意:children字段是不和数据库对应的!!!,是用来存放它的子节点的!

3.看下controller

/*
     * 这种方法也是不行的,因为这种方法只能在专业树的中间部分添加节点,
     * 这样写着个专业树就是一个死树, 所以再进行改进,需要用到递归了!!!
     * */
    @RequestMapping("/_getAllTree")
    public String _getAllTree(HttpServletRequest request,HttpServletResponse response) throws Exception{
        //获取一级目录academy
        List academyList_1 = treeService.getAllTree(0);

        //遍历一级目录,并获取二级目录
        Iterator academyIt_1 = academyList_1.iterator();
        while(academyIt_1.hasNext()){
            TAcademy academy_1 = (TAcademy) academyIt_1.next();
            List academyList_2 = treeService.getAllTree(academy_1.getId());

            //遍历二级目录,并获取三级目录
            Iterator academyIt_2 = academyList_2.iterator();
            List addAcademyList_2 = new ArrayList();
            while(academyIt_2.hasNext()){
                TAcademy academy_2 = (TAcademy) academyIt_2.next();
                addAcademyList_2.add(academy_2);
                List academyList_3 = treeService.getAllTree(academy_2.getId());
                Iterator academyIt_3 = academyList_3.iterator();
                List addAcademy_3 = new ArrayList();
                while(academyIt_3.hasNext()){
                    TAcademy academy_3 = (TAcademy) academyIt_3.next();
                    addAcademy_3.add(academy_3);
                }
                academy_2.setChildren(addAcademy_3);
            }
            academy_1.setChildren(addAcademyList_2);
        }
        JSONArray jn = JSONArray.fromObject(academyList_1);
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().println(jn.toString());
        return null;
    }

4.效果图
这里写图片描述

注意:前台代码是和上一篇中的一样的。

0
0
查看评论

easyUI同步树的详解

easyUI同步树的详解
  • u012345283
  • u012345283
  • 2014-11-25 15:04
  • 3395

ExtJs同步树/异步树

ExtJs异步树,异步方式获取数据1.下载Newtonsoft.Json.Net20.dll(.net 2.0版)后,放入Asp.net项目Bin文件夹中.   Newtonsoft.Json.Net20,是一个Object/Json转换工具,这里用来把对象转换成Json格式字符...
  • leisure55
  • leisure55
  • 2009-11-12 16:58
  • 7819

easyui中下拉树的onLoadSuccess事件,加载完成后拿到树的根节点

在项目中,我们采用的是easyUI组件,经常会遇到下拉树组件,后面跟着查询,查询的参数是树的根节点的id,初始化页面的时候调取查询函数,可是会遇到一个问题,树的根节点的id拿不到,之前采取的方法是直接在onLoadSuccesss里面直接调取查询函数,但是后来发现异步树的展开事件也会调取查询事件,违...
  • Linjing127218
  • Linjing127218
  • 2018-01-20 16:56
  • 85

如何将数据库中存的树转化为树形列表(以easyui的tree为例)

很多时候,我们会把一棵树存放到数据库中,当前台需要展示一个树形列表时,将这棵树读取出来并显示,这个过程是怎么实现的呢? 这篇文章是以构造一棵easyui前台框架的一个树形列表为例,后台框架是spring MVC+JPA。 首先看一下数据库中这颗树是怎么存的: 树的结构一目了然,这是一棵...
  • u012116457
  • u012116457
  • 2015-05-22 09:20
  • 10408

easyui 中 的同步树(1)

1.先看一下easyUI,Tree组件要求的数据格式[{ "id":1, "text":"Folder1", "iconCls":"icon-save", "...
  • disiwei1012
  • disiwei1012
  • 2016-05-30 16:50
  • 633

easyui的combotree同步树和异步树实现方法

1 异步树 $("#"+treeId).combotree({ url : treeUrl, panelWidth:'200', onClick : function(node) {    onBeforeExpand:function(nod...
  • qq_28643437
  • qq_28643437
  • 2017-04-21 14:22
  • 1466

EasyUI tree加载树

树控件,很常用,可以做有层级的菜单,比如公司划分,省市区的选择等……            最大的好处就是有层级关系,看起来和选择起来比较清晰,就像一串杂乱无章的json你用bejson去格式化一样的...
  • u010293698
  • u010293698
  • 2016-06-29 22:24
  • 1238

java web实现easyui树(第一版本)

java代码:package cmxui.pub.easyui;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.cmx.db.c...
  • fanjianwucmx
  • fanjianwucmx
  • 2017-01-30 14:10
  • 544

easyUI权限树 数据回显

var id;            $(function(){             //页面加载完毕时加载此方法 &...
  • w450855301sb
  • w450855301sb
  • 2017-03-20 01:03
  • 198

做easyui中的树和datagrid的一个案例(SSH,easyui)

package cn.com.css.misps.onlinegraph.web.action; import java.util.ArrayList; import java.util.List; import org.springframework.context.annotation.Scop...
  • toto1297488504
  • toto1297488504
  • 2014-02-26 09:14
  • 1846
    个人资料
    • 访问:111487次
    • 积分:2665
    • 等级:
    • 排名:第16106名
    • 原创:146篇
    • 转载:53篇
    • 译文:1篇
    • 评论:21条
    博主
    博客专栏