zTree树形插件异步加载方法详解
发布时间 - 2026-01-11 01:53:11 点击率:次本文实例为大家分享了zTree树形插件异步加载,Struts2框架,供大家参考,具体内容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>异步加载</title>
<link rel="stylesheet"
href="${pageContext.request.contextPath}/zTree_v3-master/css/demo.css">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/zTree_v3-master/css/zTreeStyle/zTreeStyle.css">
<script type="text/javascript"
src="${pageContext.request.contextPath}/jquery-2.1.1.min.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/zTree_v3-master/js/jquery.ztree.core.min.js"></script>
<script type="text/javascript">
var setting = {
async : {
enable : true,
url : "${pageContext.request.contextPath}/ztreeAction!getMenusById.jhtml",
autoParam : [ "id" ],
//dataFilter : filter
},
data : {
key : {
url : "xUrl"
},
simpleData : {
enable : true,
pIdKey : "pid"
}
},
};
$(document).ready(function() {
$.fn.zTree.init($("#treeDemo"), setting);
});
</script>
</head>
<body>
<div class="ztree"
style="width: 20%; height: 500px; padding-top: 10px; float: left; border: 1px solid #FF0000;">
<ul id="treeDemo"></ul>
</div>
</body>
</html>
上面呢,是jsp页面的代码,因为是纯插件测试,可以直接复制过去使用的,
action层代码,可以直接复制使用
public void getMenusById(){
List<Ztree> list=null;
try {
list=ztreeService.getMenusById(ztree);
} catch (Exception e) {
e.printStackTrace();
}
super.writeJson(list);
}
public List<Ztree> getMenusById(Ztree ztree) throws Exception; //接口
//service代码,几本都可以复制使用
package com.jk.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.jk.dao.ZtreeDao;
import com.jk.model.Ztree;
import com.jk.service.ZtreeService;
@Repository("ztreeService")
public class ZtreeServiceImpl implements ZtreeService {
@Autowired
private ZtreeDao ztreeDao;
@Override
public List queryList(Ztree ztree) throws Exception {
String hql=" from Ztree where 1=1 ";
Map<String, Object> params = new HashMap<String, Object>();
//传的对象是否为空,拼接sql+id
if(ztree.getId()!=null){
hql+=" and id = :id ";
params.put("id",ztree.getId());
}
return ztreeDao.queryList(hql, params);
}
//递归查询
@Override
public List<Ztree> getMenusById(Ztree ztree) throws Exception {
String hql=" from Ztree where 1=1 ";
Map<String,Object> params=new HashMap<String,Object>();
if(ztree.getId()==null||ztree.getId().equals("")){
hql+=" and pid is null ";
}else{
hql+= " and pid = :id ";
params.put("id",ztree.getId());
}
List<Ztree> queryZtree = ztreeDao.queryList(hql, params);
List<Ztree> list=new ArrayList<Ztree>();
for(Ztree ztree2:queryZtree){
if(queryBoolean(ztree2)){
ztree2.setIsParent("true");
}
list.add(ztree2);
}
return list;
}
//熟悉递归的朋友应该可以看懂,我就不解释了,我也聊不清楚这个递归,不误导了,代码在这,可以复制进去直接运行,
public boolean queryBoolean(Ztree ztree) throws Exception{
boolean flag=false;
String hql= " from Ztree where pid = :id ";
Map<String,Object> params=new HashMap<String,Object>();
params.put("id", ztree.getId());
List<Ztree> queryZtree = ztreeDao.queryList(hql, params);
if(queryZtree!=null&&queryZtree.size()>0){
flag=true;
}
return flag;
}
}
dao层就不用写了吧,只是一个查询,下面我把ztree的表字段附上
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# zTree
# 树形插件
# 异步加载
# webpack中引用jquery的简单实现
# Webpack 实现 AngularJS 的延迟加载
# Vue.js中用webpack合并打包多个组件并实现按需加载
# Bootstrap Tree View简单而优雅的树结构组件实例解析
# 浅析webpack 如何优雅的使用tree-shaking(摇树优化)
# 递归
# 可以直接
# 加载
# 我也
# 我就
# 在这
# 我把
# 不清楚
# 写了
# 只是一个
# 大家分享
# 具体内容
# 大家多多
# 看懂
# 为空
# 几本
# ztreeAction
# url
# true
# id
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
韩国服务器如何优化跨境访问实现高效连接?
北京企业网站设计制作公司,北京铁路集团官方网站?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在建站主机中优化服务器配置?
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
如何在腾讯云免费申请建站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
如何破解联通资金短缺导致的基站建设难题?
Laravel如何使用查询构建器?(Query Builder高级用法)
Python3.6正式版新特性预览
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何登录建站主机?访问步骤全解析
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在七牛云存储上搭建网站并设置自定义域名?
如何自定义建站之星网站的导航菜单样式?
如何用好域名打造高点击率的自主建站?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
php结合redis实现高并发下的抢购、秒杀功能的实例
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
新三国志曹操传主线渭水交兵攻略
Laravel如何实现API资源集合?(Resource Collection教程)
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Swift中循环语句中的转移语句 break 和 continue
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
开心动漫网站制作软件下载,十分开心动画为何停播?
如何快速生成橙子建站落地页链接?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何快速搭建高效WAP手机网站?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel安装步骤详细教程_Laravel环境搭建指南
如何快速配置高效服务器建站软件?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
JavaScript如何实现音频处理_Web Audio API如何工作?
JavaScript Ajax实现异步通信
Java垃圾回收器的方法和原理总结
Laravel如何实现API版本控制_Laravel版本化API设计方案

