easyui_tree组件动态代入的数据后台代码

easyui_tree组件动态代入的数据后台代码

将数据库表内的数据代入tree组件

思路

首先,我们的tree组件的值是从一个json文件里获取到的,那么如果我们要将数据库的表的数据代入的话,就要先得到它的json文件,首先要得到一个tree的vo文件,就是json格式需要的字段,然后写一个dao方法获取到它的全部的值,通过工具类完成指定格式的输出,因为数据库表的格式是不能满足easyui的tree组建的展现的数据格式的,所以我们要将得到的List里面的单个对象转换成TreeVo的格式,然后将它加入TreeVo的集合里,然后通过一个工具类BuildTree转换成json的格式输出。
具体思维导图,我整理了一下,如下:

在这里插入图片描述

实现过程

然后上代码:
首先事前准备静态资源以及依赖
在这里插入图片描述
在这里插入图片描述
然后是TreeVo的类,是tree的格式的需要的字段

package com.wangjuanxia.vo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class TreeVo<T> {
	/**
	 * 节点ID
	 */
	private String id;
	/**
	 * 显示节点文本
	 */
	private String text;
	/**
	 * 节点状态,open closed
	 */
	private Map<String, Object> state;
	/**
	 * 节点是否被选中 true false
	 */
	private boolean checked = false;
	/**
	 * 节点属性
	 */
	private Map<String, Object> attributes;

	/**
	 * 节点的子节点
	 */
	private List<TreeVo<T>> children = new ArrayList<TreeVo<T>>();

	/**
	 * 父ID
	 */
	private String parentId;
	/**
	 * 是否有父节点
	 */
	private boolean hasParent = false;
	/**
	 * 是否有子节点
	 */
	private boolean hasChildren = false;

	public String getId() {
		return id;
	}

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

	public String getText() {
		return text;
	}

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

	public Map<String, Object> getState() {
		return state;
	}

	public void setState(Map<String, Object> state) {
		this.state = state;
	}

	public boolean isChecked() {
		return checked;
	}

	public void setChecked(boolean checked) {
		this.checked = checked;
	}

	public Map<String, Object> getAttributes() {
		return attributes;
	}

	public void setAttributes(Map<String, Object> attributes) {
		this.attributes = attributes;
	}

	public List<TreeVo<T>> getChildren() {
		return children;
	}

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

	public boolean isHasParent() {
		return hasParent;
	}

	public void setHasParent(boolean isParent) {
		this.hasParent = isParent;
	}

	public boolean isHasChildren() {
		return hasChildren;
	}

	public void setChildren(boolean isChildren) {
		this.hasChildren = isChildren;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public TreeVo(String id, String text, Map<String, Object> state, boolean checked, Map<String, Object> attributes,
                  List<TreeVo<T>> children, boolean isParent, boolean isChildren, String parentID) {
		super();
		this.id = id;
		this.text = text;
		this.state = state;
		this.checked = checked;
		this.attributes = attributes;
		this.children = children;
		this.hasParent = isParent;
		this.hasChildren = isChildren;
		this.parentId = parentID;
	}

	public TreeVo() {
		super();
	}

}

表的实体类,我这里用到的是一个menu表(t_easyui_menu)

package com.wangjuanixa.entity;

import java.sql.Date;
import java.sql.Timestamp;

public class Menu {
	private String serialNo;
	private String menuid;
	private String menuname;
	private String menuURL;
	private String parentid;
	private String iconcls;
	private String authid;
	private String showflag;
	private String displayno;
	private Date operatime;
	private String operator;
	private String mark;
	private String Extend1;
	private String Extend2;
	private String Extend3;
	private String Extend4;
	private String Extend5;
	public String getSerialNo() {
		return serialNo;
	}
	public void setSerialNo(String serialNo) {
		this.serialNo = serialNo;
	}
	public String getMenuid() {
		return menuid;
	}
	public void setMenuid(String menuid) {
		this.menuid = menuid;
	}
	public String getMenuname() {
		return menuname;
	}
	public void setMenuname(String menuname) {
		this.menuname = menuname;
	}
	public String getMenuURL() {
		return menuURL;
	}
	public void setMenuURL(String menuURL) {
		this.menuURL = menuURL;
	}
	public String getParentid() {
		return parentid;
	}
	public void setParentid(String parentid) {
		this.parentid = parentid;
	}
	public String getIconcls() {
		return iconcls;
	}
	public void setIconcls(String iconcls) {
		this.iconcls = iconcls;
	}
	public String getAuthid() {
		return authid;
	}
	public void setAuthid(String authid) {
		this.authid = authid;
	}
	public String getShowflag() {
		return showflag;
	}
	public void setShowflag(String showflag) {
		this.showflag = showflag;
	}
	public String getDisplayno() {
		return displayno;
	}
	public void setDisplayno(String displayno) {
		this.displayno = displayno;
	}
		public String getOperator() {
		return operator;
	}
	public void setOperator(String operator) {
		this.operator = operator;
	}
	public String getMark() {
		return mark;
	}
	public void setMark(String mark) {
		this.mark = mark;
	}
	public String getExtend1() {
		return Extend1;
	}
	public void setExtend1(String extend1) {
		Extend1 = extend1;
	}
	public String getExtend2() {
		return Extend2;
	}
	public void setExtend2(String extend2) {
		Extend2 = extend2;
	}
	public String getExtend3() {
		return Extend3;
	}
	public void setExtend3(String extend3) {
		Extend3 = extend3;
	}
	public String getExtend4() {
		return Extend4;
	}
	public void setExtend4(String extend4) {
		Extend4 = extend4;
	}
	public String getExtend5() {
		return Extend5;
	}
	public void setExtend5(String extend5) {
		Extend5 = extend5;
	}
	@Override
	public String toString() {
		return "Menu [serialNo=" + serialNo + ", menuid=" + menuid + ", menuname=" + menuname + ", menuURL=" + menuURL
				+ ", parentid=" + parentid + ", iconcls=" + iconcls + ", authid=" + authid + ", showflag=" + showflag
				+ ", displayno=" + displayno + ", operatime=" + operatime + ", operator=" + operator + ", mark=" + mark
				+ ", Extend1=" + Extend1 + ", Extend2=" + Extend2 + ", Extend3=" + Extend3 + ", Extend4=" + Extend4
				+ ", Extend5=" + Extend5 + "]";
	}
	
}

Dao方法

package com.wangjuanxia.dao;                                                                       
                                                                                             
import java.util.ArrayList;                                                                  
import java.util.HashMap;                                                                    
import java.util.List;                                                                       
import java.util.Map;                                                                        
                                                                                             
import com.fasterxml.jackson.databind.ObjectMapper;                                          
import com.wangjuanxia.entity.Menu;                                                                
                                                                                             
import com.wangjuanxia.util.BaseDao;                                                               
import com.wangjuanxia.util.BuildTree;                                                             
import com.wangjuanxia.util.PageBean;                                                              
import com.wangjuanxia.vo.TreeVo;                                                                  
                                                                                             
public class MenuDao extends BaseDao<Menu>{                                                  
	public List<Menu> list(Menu permission,PageBean pageBean) throws Exception{              
		String sql="select * from t_easyui_menu";                                            
		return super.executeQuery(sql, Menu.class, pageBean);                                
	}                                                                                        
	public static void main(String[] args) throws Exception {                                
		MenuDao pd=new MenuDao();                                                            
		List<Menu> list = pd.list(null, null);                                               
		//通过工具类完成指定格式的输出                                                                     
		List<TreeVo<Menu>> nodes=new ArrayList<TreeVo<Menu>>();                              
		//Menu的格式是不能满足easyui的tree组建的展现的数据格式的                                                 
		//目的,将List<Menu>转换成List<TreeVo<Menu>>                                                
		//实现:将List<Menu>得到的单个Menu转换成TreeVo,将TreeVo加入nodes                                    
		TreeVo treeVo=null;                                                                  
		for (Menu m : list) {                                                                
			treeVo=new TreeVo<>();                                                           
			treeVo.setId(m.getMenuid());                                                     
			treeVo.setText(m.getMenuname());                                                 
			treeVo.setParentId(m.getParentid());                                             
			/*Map<String, Object> a=ttributes=new HashMap<String, Object>();                 
			attributes.put("self", m);                                                       
			treeVo.setAttributes(attributes);*/                                              
			nodes.add(treeVo);                                                               
		}                                                                                    
		TreeVo<Menu> parent=BuildTree.build(nodes);                                          
		ObjectMapper om=new ObjectMapper();                                                  
		String jsonstr = om.writeValueAsString(parent);                                      
		System.out.println(jsonstr);                                                         
	}                                                                                        
}                                                                                            
                                                                                             

然后就能得到它输出的json格式的数据啦在这里插入图片描述
然后将它复制到json的官网可以格式化/校验一下(json官网:https://www.sojson.com/)
在这里插入图片描述
然后tree的数据库实现数据动态代入的后台就差不多啦~
前台我后面会再发博客补充~

总结

前台我后面会再发博客补充,代码比较多,而且比较绕,请细品哦~ bǎi bài
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值