Ztree异步树加载
2024-10-19 19:54:29
JSP代码片段
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"
src="${ctx}/thscommon/javascript/jquery-1.7.2.min.js"></script>
<script type="text/javascript"
src="${ctx}/win/javascript/jquery.ztree.core-3.5.js"></script>
<link rel="stylesheet" href="${ctx}/win/css/zTreeStyle/zTreeStyle.css"
type="text/css">
<title>Insert title here</title> <script type="text/javascript">
var setting = {
/* check : {
enable : true,
chkStyle : "radio",
radioType: "id"
}, */
async : {
enable : true,
url : "${ctx}/common/tree/river!getNodeData.action",
autoParam : [ "id" ],
dataFilter : filter
},
callback : {
//beforeClick: beforeClick,
onClick : onClick
}
}; function filter(treeId, parentNode, childNodes) {
if (!childNodes)
return null;
for ( var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
} function onClick(event, treeId, treeNode, clickFlag) {
var win = art.dialog.open.origin;//来源页面
win.snstSet(treeNode.id, treeNode.name,$("#idx").val());
$.dialog.close();
} $(document).ready(function() {
$.fn.zTree.init($("#tree"), setting);
});
//-->
</script>
</head>
<body>
<div class="zTreeDemoBackground left">
<ul id="tree" class="ztree"></ul>
</div>
<input type="hidden" id="idx" name="idx" value="${idx}">
</body>
</html>
action处理如下
public void getNodeData() {
List<Map<String, Object>> nodedata = service.getNodes(this.getId());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> tmp = null;
for (Map<String, Object> map : nodedata) {
tmp = new HashMap<String, Object>();
tmp.put("id", map.get("id"));
tmp.put("name", map.get("name"));
tmp.put("isParent",
Integer.valueOf(map.get("cnt").toString()) > 0 ? true
: false);
list.add(tmp);
}
try {
PrintWriter out;
JSONObject jo = new JSONObject();
response.setCharacterEncoding("gbk");
response.setContentType("text/html; charset=GBK");
out = response.getWriter();
System.out.println(JSONArray.fromObject(list).toString());
out.print(JSONArray.fromObject(list).toString());
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Service处理如下
public List<Map<String, Object>> getNodes(String id) {
return dao.getNodes(id);
}
Dao处理如下
public List<Map<String, Object>> getNodes(String id) {
List<String> params = new ArrayList<String>();
StringBuffer querySQL = new StringBuffer();
querySQL.append("SELECT tt.wsystemcode id,tt.wsystemname name");
querySQL.append(",(SELECT COUNT (1) cnt FROM datacenter_v3.tcode.t_cod_wsystem t WHERE t.parentcode = tt.wsystemcode) cnt");
querySQL.append(" FROM datacenter_v3.tcode.t_cod_wsystem tt");
querySQL.append(" WHERE 1=1");
if(Tool.isNull(id)){
querySQL.append(" and tt.parentcode is null");
}else{
querySQL.append(" and tt.parentcode = ?");
params.add(id);
}
querySQL.append(" GROUP BY tt.wsystemcode,tt.wsystemname");
querySQL.append(" ORDER BY tt.wsystemcode"); return search(querySQL.toString(), params.toArray());
}
最新文章
- 最短路径问题——floyd算法
- 浅谈JavaScript中的正则表达式
- Centos上DNS服务器的简单搭建
- C#:数据交互
- gb2312编码提交url乱码解决
- str系列---字符串函数
- 关于Context []startup failed due to previous errors有效解决方式
- Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
- JavaUtil_06_DES加解密工具
- Python内置函数(22)——list
- Servlet再度学习
- 【bfs】拯救少林神棍(poj1011)
- 在思科路由器上配置AAA认证
- yarn基础解释
- Java实现:数据结构之排序
- Windows 安装 MySQL 8.0.11
- Docker--从安装到搭建环境
- js的class属性获取、增加、移除
- JMS 在 SpringBoot 中的使用
- RuPengGame游戏引擎 精灵 createSprite 创建 setSpritePosition 设置位置 playSpriteAnimate 播放动画 setSpriteFlipX设置翻转 精灵图片下载地址