19.EasyUI中tree的使用
来源:互联网 发布:34周胎儿发育标准数据 编辑:程序博客网 时间:2024/05/19 08:38
想实现如图所示的树状结构
1.前端js代码已经写好,需要后台提供数据进行展现
根据昨天学习的RESTful方法,可以把list省略换成method:GET
2.数据库表结构,如果你想要展现一棵树,那么在数据库对应的表中需要两个重要的字段parent_id(记录父节点是谁)和is_parent(记录当前自己是不是父节点)
CREATE TABLE `tb_item_cat` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID', `parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时,代表的是一级的类目', `name` varchar(50) DEFAULT NULL COMMENT '类目名称', `status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)', `sort_order` int(4) DEFAULT NULL COMMENT '排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数', `is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目,1为true,0为false', `created` datetime DEFAULT NULL COMMENT '创建时间', `updated` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`), KEY `parent_id` (`parent_id`,`status`) USING BTREE, KEY `sort_order` (`sort_order`)) ENGINE=InnoDB AUTO_INCREMENT=1183 DEFAULT CHARSET=utf8 COMMENT='商品类目';
KEY ‘parent_id’,('parent_id','status') USING BTREE是联合索引
索引是一种数据结构,在这种数据结构中存储了表中某一列的所有值,也就是说索引是基于表中的某一列创建的。
关于数据库索引的知识请参考:
http://blog.csdn.net/weiliangliang111/article/details/51333169
http://blog.csdn.net/u013310119/article/details/52527632
3.后台需要做的:需要后台返回数据给前台,让前台调用进行1.步骤的js代码处理就可以展现效果。
3.1创建与表对应的pojo文件(这里用的是通用Mapper)
package com.taotao.manager.pojo;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Table(name = "tb_item_cat")public class ItemCat extends BasePojo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Long parentId; private String name; private Integer status; private Integer sortOrder; private Boolean isParent; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Integer getSortOrder() { return sortOrder; } public void setSortOrder(Integer sortOrder) { this.sortOrder = sortOrder; } public Boolean getIsParent() { return isParent; } public void setIsParent(Boolean isParent) { this.isParent = isParent; }}这里的类继承了BasePojo文件,是因为该文件包含了所有表都有的两个字段,就是updated和created
package com.taotao.manager.pojo;import java.util.Date;public abstract class BasePojo { private Date created; private Date updated; public Date getCreated() { return created; } public void setCreated(Date created) { this.created = created; } public Date getUpdated() { return updated; } public void setUpdated(Date updated) { this.updated = updated; }}
package com.taotao.manager.mapper;import com.github.abel533.mapper.Mapper;import com.taotao.manager.pojo.ItemCat;public interface ItemCatMapper extends Mapper<ItemCat> {}
3.4编写controller文件
关于controller的实现思路如下:
1.确定返回的类型
2.查询时先获取一级类目,点击一级查询获取二级类目,点击二级查询获取三级类目,以此类推。
因为第一次请求的时候没有id,所以给一个默认值0。因为id是通过?id=XX的方式传递过来的,所以用@RequestParam来接收
查询结果如下:发现数据已经获取到,但是在前台并没有展现出来
没有显示的原因:
因为easyUI对tree的规定是返回类型格式如下:text表示显示的内容,state表示当前文件是处于打开还是关闭状态。
需要text和state两个状态值,但是我们返回的ItemCat中没有返回这两个值,所以出现了上面的情况。下面在ItemCat的文件中增加如下代码即可:
// 扩展EasyUI的tree属性 public String getText() { return getName(); } public String getState() { return getIsParent() ? "closed" : "open"; }
- 19.EasyUI中tree的使用
- easyui中tree的使用
- EasyUI中tree的使用
- JQuery中EasyUi的$.tree的使用
- EasyUI的中Tree
- easyui Tree的使用
- easyui tree 的使用
- easyui tree的简单使用
- EasyUI的异步Tree使用
- Jquery easyui tree的使用
- jQuery EasyUI tree的 使用
- jQuery EasyUI tree的 使用
- easyui tree的简单使用
- Jquery easyui tree的使用
- Jquery easyui tree的使用
- Jquery easyui tree的使用
- 项目实践——Easyui中tree的使用
- jQuery-easyUI的使用:tree的使用
- 大文件断点续传
- 基本常用正则表达式
- 第四周周总结
- 将一个数由几个数的阶乘和表示
- NOIP 2017 D2T1 奶酪
- 19.EasyUI中tree的使用
- android gradle tools 3.X 中依赖,implementation 和compile区别
- java实现FTP上传和下载
- Android Toolsbar 详解
- Django
- 用c语言输出100到200之间的素数
- java中判断线程是否是停止状态
- Codeforces Round #446 (Div. 2) C Pride
- Eclipse启动加载工作空间突然闪退