0
点赞
收藏
分享

微信扫一扫

【EasyUI学习-2】Easyui Tree的异步加载

作者:ssslinppp      

​​1. 摘要​​

​​2. tree的相关介绍​​

​​3. 异步加载tree数据,并实现tree的折叠展开​​

​​3.1 功能说明:​​

​​3.2 前台代码​​

​​3.3 后台代码​​

​​4. 其他​​

1. 摘要

easyui相关的介绍可以上其官网或者百度去搜索,这里不做介绍。

Easyui Tree的使用,官网或者easyui中文网站,也有相关介绍,但是官方提供的实例所使用的json是写死的,不是后台实时读取的。在实际的项目中,要显示的tree数据,一般都是从数据库中读取,然后通过通过ajax或者其他技术将tree的json数据发送到前台,然后显示。

本文将介绍easyui tree的异步加载,以及手动展开tree。


2. tree的相关介绍

【EasyUI学习-2】Easyui Tree的异步加载_easyui

上图是一个tree,它对应json数据格式为:

从上面的json数据可以看出,tree的数据有固定格式,一般都包括下面几个:

  • id: 唯一标示;
  • text: 显示的文本;
  • children:子节点;
  • state:closed或open,表示节点是展开还是折叠;
  • attributes:属性,这里可以自定义若干属性;

等,还有其他一些属性,这里没有一一列举。

如果tree的内容不变,可以采用静态的方式显示,这个在官网上有实例,不再详述。

若果想通过异步的方式加载tree的json数据,则后台只需按照tree的数据格式生成相应的json,然后返回前台即可。下面将介绍异步加载tree数据。


3. 异步加载tree数据,并实现tree的折叠展开

3.1 功能说明:

【EasyUI学习-2】Easyui Tree的异步加载_子节点_02

上图是整个tree的节点信息,这些数据都是从数据库中读取并显示的。但是在实际的项目中,可能tree的节点(children)会很多,若是一次全部加载,可能会很耗时,通常我们都是先加载父节点信息,然后点击“展开”,再加载子节点信息,如下图所示:

【EasyUI学习-2】Easyui Tree的异步加载_spring_03


上图中,我们首次加载时,【节点1】和【节点3】的子节点没有展开(加载),而【节点2】的子节点全部展开,当点击【节点1】的展开按钮时,再加载【节点1】的子节点,如下图所示:

【EasyUI学习-2】Easyui Tree的异步加载_tree_04


3.2 前台代码

jsp界面:

【EasyUI学习-2】Easyui Tree的异步加载_spring_05


mytreeTest.js 

【EasyUI学习-2】Easyui Tree的异步加载_spring_06 


3.3 后台代码

我们采用了spring mvc。

为了实现tree的json格式数据的返回,我们在后台定义了一个类:TreeNodeInfo.java

【EasyUI学习-2】Easyui Tree的异步加载_tree_07


loadTreeJson.action 

【EasyUI学习-2】Easyui Tree的异步加载_子节点_08【EasyUI学习-2】Easyui Tree的异步加载_子节点_09【EasyUI学习-2】Easyui Tree的异步加载_tree_10【EasyUI学习-2】Easyui Tree的异步加载_spring_11 

当首次加载时,tree如下图所示:

【EasyUI学习-2】Easyui Tree的异步加载_tree_12

当点击展开【节点1】和【节点3】时,如下图所示:

【EasyUI学习-2】Easyui Tree的异步加载_子节点_13


当点击tree节点时,会弹出:

【EasyUI学习-2】Easyui Tree的异步加载_子节点_14



4. 其他

浏览器:http://localhost:8080/MainFrameTest/index.action ,执行该程序。


spring mvc配置:

【EasyUI学习-2】Easyui Tree的异步加载_tree_15【EasyUI学习-2】Easyui Tree的异步加载_easyui_16



举报

相关推荐

0 条评论