老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

JAVA后臺轉換成樹結構數據返回給前端的實現方法

我們會經常用到樹形,那么樹形結構的數據是在前端做還是在后臺做呢?我自己用過前端的ztree,selectTree等這些屬于前端的組件,后臺只需要把一個表的所有數據返回給前段就可以,前端可以通過id,pid來把層級結構劃分,要是我們前端需要后臺直接返回樹結構數據怎么辦,那么接下來我給大家介紹一下我寫過的例子。

創新互聯建站是一家集網站建設,達拉特企業網站建設,達拉特品牌網站建設,網站定制,達拉特網站建設報價,網絡營銷,網絡優化,達拉特網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

我們先看一張圖了解一下樹結構:我這里隨便找一張圖了解一下即可

JAVA后臺轉換成樹結構數據返回給前端的實現方法

接下來我們看一下數據,主要包括id,pid,名稱

JAVA后臺轉換成樹結構數據返回給前端的實現方法

接下來我們寫一個小例子,用遞歸方式轉換為數

實體:

package cn.ccccltd.ccccoi.mediumterminvestment.domain;

import java.io.Serializable;
import java.util.List;

/**
 * @Description:返回前端,業務模塊
 * @author yujiaqi
 * @date: 2019年9月9日下午2:07:19
 */
public class ProjectBasicInfoDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  private String id;
  private String pId;
  private String key;
  private String title;
  private String value;
  private List children;
  private Boolean selectable;
  private Boolean disableCheckbox;
  private Boolean disabled;
  
  
  public String getId() {
    return id;
  }
  public String getValue() {
    return value;
  }
  public void setValue(String value) {
    this.value = value;
  }
  public void setId(String id) {
    this.id = id;
  }
  public String getpId() {
    return pId;
  }
  public void setpId(String pId) {
    this.pId = pId;
  }
  public String getKey() {
    return key;
  }
  public void setKey(String key) {
    this.key = key;
  }
  public String getTitle() {
    return title;
  }
  public void setTitle(String title) {
    this.title = title;
  }
  public List getChildren() {
    return children;
  }
  public void setChildren(List children) {
    this.children = children;
  }
  public Boolean getSelectable() {
    return selectable;
  }
  public void setSelectable(Boolean selectable) {
    this.selectable = selectable;
  }
  
  public Boolean getDisableCheckbox() {
    return disableCheckbox;
  }
  public void setDisableCheckbox(Boolean disableCheckbox) {
    this.disableCheckbox = disableCheckbox;
  }
  public Boolean getDisabled() {
    return disabled;
  }
  public void setDisabled(Boolean disabled) {
    this.disabled = disabled;
  }
  public static long getSerialversionuid() {
    return serialVersionUID;
  }
}

service實現類

/**
   * 查詢投資項目資金來源
   */
   @Override
   public List queryFundingSource() {
     //查詢投資項目資金來源
     List list = projectBasicInfoMapper.queryDictionaryBean(Constant.FUNDING_SOURCE,Constant.DELFLAG);
     List dataProcessing = ProjectBasicInfoServiceImpl.dataProcessing(list);
     List buildByRecursive = TreeUtils.buildByRecursive(dataProcessing);
     return buildByRecursive;
   }
  
  
  /**
   * 將字典數據遍歷放入ProjectBasicInfoDTO實體中
   * @param list
   * @return
   */
  public static List dataProcessing(List list){
    List list1 = Lists.newArrayList();
    for (DictionaryBean dictionaryBean : list) {
      ProjectBasicInfoDTO projectBasicInfoDTO = new ProjectBasicInfoDTO();
      projectBasicInfoDTO.setId(dictionaryBean.getItemId());
      projectBasicInfoDTO.setpId(dictionaryBean.getItemParentId());
      projectBasicInfoDTO.setKey(dictionaryBean.getItemId());
      projectBasicInfoDTO.setTitle(dictionaryBean.getItemFullName());
      projectBasicInfoDTO.setValue(dictionaryBean.getItemFullName());
      projectBasicInfoDTO.setSelectable(false);
      projectBasicInfoDTO.setDisableCheckbox(true);
      projectBasicInfoDTO.setDisabled(true);
      list1.add(projectBasicInfoDTO);
    }
    return list1;
  }

遞歸方法工具類

package cn.ccccltd.ccccoi.mediumterminvestment.util;

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

import cn.ccccltd.ccccoi.mediumterminvestment.domain.ProjectBasicInfoDTO;

public class TreeUtils {
  /**
   * 使用遞歸方法建樹
   * @param treeNodes
   * @return
   */
  public static List buildByRecursive(List projectBasicInfoDTOs) {
    List trees = new ArrayList();
    for (ProjectBasicInfoDTO projectBasicInfoDTO : projectBasicInfoDTOs) {
      if ("".equals(projectBasicInfoDTO.getpId()) || projectBasicInfoDTO.getpId() == null ) {
        trees.add(findChildren(projectBasicInfoDTO,projectBasicInfoDTOs));
      }
    }
    return trees;
  }
  
  /**
  * 遞歸查找子節點
  * @param treeNodes
  * @return
  */
  public static ProjectBasicInfoDTO findChildren(ProjectBasicInfoDTO projectBasicInfoDTO,List projectBasicInfoDTOs) {
    for (ProjectBasicInfoDTO projectBasicInfoDTO2 : projectBasicInfoDTOs) {
      if(projectBasicInfoDTO.getId().equals(projectBasicInfoDTO2.getpId())) {
        if(projectBasicInfoDTO.getChildren() == null) {
          projectBasicInfoDTO.setChildren(new ArrayList());
        }
        //是否還有子節點,如果有的話繼續往下遍歷,如果沒有則直接返回
        projectBasicInfoDTO.getChildren().add(findChildren(projectBasicInfoDTO2,projectBasicInfoDTOs));
      }
    }
    return projectBasicInfoDTO;
  }
}

樹結構效果圖

JAVA后臺轉換成樹結構數據返回給前端的實現方法

到此這篇關于JAVA后臺轉換成樹結構數據返回給前端的實現方法的文章就介紹到這了,更多相關JAVA轉換樹結構返回前端內容請搜索創新互聯以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持創新互聯!


網站名稱:JAVA后臺轉換成樹結構數據返回給前端的實現方法
當前網址:http://www.xueling.net.cn/article/ieiiio.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 少妇搡BBBB搡BBB搡AA | 欧美激情黑白配 | 伊人久久大香线蕉av桃 | 日韩中文字幕av | 日韩精品一区二区葵司亚洲91 | 久久黄色网 | 欧美日韩第一页 | 91精品国产乱码久久桃 | 日本阿v视频免费观看在线播放 | 亚洲熟妇无码AV另类VR影视 | 国产亚洲欧美精品久久久 | 草逼逼视频 | 青草草在线观看免费视频 | 日木强大喷奶水av片 | 97国产精品自拍 | 男插女高潮一区二区 | 欧美a不卡| 日韩丰满少妇无码内射 | 精产国品一二三产区区别麻豆 | 亚洲成本人片无码免费 | 日本乱偷人妻中文字幕在线 | 成年人在线免费观看热视频 | 插插天天| 欧洲在线免费视频 | 成人亚洲一区二区三区 | 四虎激情网| 欧美精品码一区二区三区免费观看 | 老头巨大挺进莹莹的体内免费视频 | 99国产欧美久久久精品 | 日本女人xx| 久久综合精品国产一区二区三区 | 国内熟妇人妻色在线视频 | 国产精品99久久久久久人红楼 | 国产91艳遇在线观看 | a成人在线 | 天堂网www天堂网最新版 | 国产日产欧洲无码视频 | 亚欧午夜福利网站 | XXX舌L伦农村人XXX | 初尝办公室人妻少妇 | 中文字幕乱码一区av久久不卡 |