JAVA 백 엔 드 를 트 리 구조 데이터 로 변환 하여 프론트 엔 드 에 되 돌려 주 는 실현 방법
6600 단어 JAVA나무 구조프론트 엔 드 로 되 돌아 가기
우 리 는 먼저 그림 한 장 을 보고 나무 구 조 를 알 아 보 자.나 는 여기 서 그림 한 장 을 찾 아서 알 아 보면 된다.
다음은 id,pid,이름 을 포함 한 데 이 터 를 살 펴 보 겠 습 니 다.
다음 에 우 리 는 작은 예 를 써 서 재 귀 방식 으로 숫자 로 바 꾸 었 다.
실체:
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<ProjectBasicInfoDTO> 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<ProjectBasicInfoDTO> getChildren() {
return children;
}
public void setChildren(List<ProjectBasicInfoDTO> 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;
}
}
서비스 구현 클래스
/**
*
*/
@Override
public List<ProjectBasicInfoDTO> queryFundingSource() {
//
List<DictionaryBean> list = projectBasicInfoMapper.queryDictionaryBean(Constant.FUNDING_SOURCE,Constant.DELFLAG);
List<ProjectBasicInfoDTO> dataProcessing = ProjectBasicInfoServiceImpl.dataProcessing(list);
List<ProjectBasicInfoDTO> buildByRecursive = TreeUtils.buildByRecursive(dataProcessing);
return buildByRecursive;
}
/**
* ProjectBasicInfoDTO
* @param list
* @return
*/
public static List<ProjectBasicInfoDTO> dataProcessing(List<DictionaryBean> list){
List<ProjectBasicInfoDTO> 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<ProjectBasicInfoDTO> buildByRecursive(List<ProjectBasicInfoDTO> projectBasicInfoDTOs) {
List<ProjectBasicInfoDTO> trees = new ArrayList<ProjectBasicInfoDTO>();
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<ProjectBasicInfoDTO> projectBasicInfoDTOs) {
for (ProjectBasicInfoDTO projectBasicInfoDTO2 : projectBasicInfoDTOs) {
if(projectBasicInfoDTO.getId().equals(projectBasicInfoDTO2.getpId())) {
if(projectBasicInfoDTO.getChildren() == null) {
projectBasicInfoDTO.setChildren(new ArrayList<ProjectBasicInfoDTO>());
}
// , ,
projectBasicInfoDTO.getChildren().add(findChildren(projectBasicInfoDTO2,projectBasicInfoDTOs));
}
}
return projectBasicInfoDTO;
}
}
트 리 구조 효과 도JAVA 백 엔 드 를 트 리 구조 데이터 로 변환 하여 프론트 엔 드 에 되 돌려 주 는 실현 방법 에 관 한 글 은 여기까지 소개 되 었 습 니 다.더 많은 JAVA 변환 트 리 구조 가 프론트 엔 드 로 되 돌아 가 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.