作者: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的相关介绍
上图是一个tree,它对应json数据格式为:
从上面的json数据可以看出,tree的数据有固定格式,一般都包括下面几个:
- id: 唯一标示;
- text: 显示的文本;
- children:子节点;
- state:closed或open,表示节点是展开还是折叠;
- attributes:属性,这里可以自定义若干属性;
等,还有其他一些属性,这里没有一一列举。
如果tree的内容不变,可以采用静态的方式显示,这个在官网上有实例,不再详述。
若果想通过异步的方式加载tree的json数据,则后台只需按照tree的数据格式生成相应的json,然后返回前台即可。下面将介绍异步加载tree数据。
3. 异步加载tree数据,并实现tree的折叠展开
3.1 功能说明:
上图是整个tree的节点信息,这些数据都是从数据库中读取并显示的。但是在实际的项目中,可能tree的节点(children)会很多,若是一次全部加载,可能会很耗时,通常我们都是先加载父节点信息,然后点击“展开”,再加载子节点信息,如下图所示:
上图中,我们首次加载时,【节点1】和【节点3】的子节点没有展开(加载),而【节点2】的子节点全部展开,当点击【节点1】的展开按钮时,再加载【节点1】的子节点,如下图所示:
3.2 前台代码
jsp界面:
mytreeTest.js
3.3 后台代码
我们采用了spring mvc。
为了实现tree的json格式数据的返回,我们在后台定义了一个类:TreeNodeInfo.java
loadTreeJson.action
当首次加载时,tree如下图所示:
当点击展开【节点1】和【节点3】时,如下图所示:
当点击tree节点时,会弹出:
4. 其他
浏览器:http://localhost:8080/MainFrameTest/index.action ,执行该程序。
spring mvc配置: