프런트엔드는 EasyUI를 사용하여 구현됩니다. EasyUI는 id 매개변수를 백엔드에 전달합니다.
처음 로딩 시 백그라운드로 전달된 ID는 null입니다.
트리 노드가 확장될 때마다 현재 노드의 ID가 백그라운드로 전달됩니다.
제어 레이어:
/**
*나무
*/
@RequestMapping(value = "/tree.do")
public void mytree(HttpServletResponse 응답, 문자열 ID) {
This.writeJson(응답, bookService.getChildrenTree(id));
}
서비스 계층:
@트랜잭션
@오버라이드
공개 목록
시도해보세요 {
List
//자식 노드 목록 가져오기
목록
if (childrenList != null && childrenList.size() > 0) {
for (TBookType 하위 : childrenList) {
// 손주 수를 구합니다
긴 개수 = bookDao.getChildrenCount(String.valueOf(child.getId()));
트리 노드 = new Tree();
Node.setId(String.valueOf(child.getId()));
Node.setPid(String.valueOf(child.getPid()));
Node.setText(child.getName());
Node.setChildren(null);
node.setState(count > 0 ? "closed" : "open");
//childrenList 데이터를 트리에 하나씩 저장합니다
result.add(노드);
}
}
결과 반환
} 잡기(예외 e) {
throw new BusinessException("책 유형 데이터를 가져오는 중 오류가 발생했습니다!", e);
}
}
다오 레이어:
@오버라이드
공개 목록
//이것의 pid는 현재 확장된 노드의 id이고, 자식 노드는 부모 노드의 id를 통해 얻는다
StringBuilder sqlstr = new StringBuilder();
if (StringUtils.isBlank(pid))
sqlstr.append("bt.pid=0인 북타입 bt에서 * 선택");
그 외
sqlstr.append("select * from booktype bt where bt.pid=" pid );
Return this.search2(TBookType.class, sqlstr.toString());
}
@오버라이드
public long getChildrenCount(String pid) {
//이것의 pid는 현재 확장된 노드의 id이고, 부모 노드의 id를 통해 자식 노드의 개수를 구한다
StringBuilder sqlstr = new StringBuilder();
if (StringUtils.isBlank(pid))
sqlstr.append("tb.pid='0'인 경우 북타입 tb에서 count(*) 선택");
그 외
sqlstr.append("tb.pid='" pid "'");
return this.count(sqlstr.toString());
}
위 내용은 비동기 트리를 구현하는 EasyUI에 대한 이 기사의 모든 코드입니다. 모든 사람에게 도움이 되기를 바랍니다

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版
시각적 웹 개발 도구
