环境 struts2 json dtree jquery
ActionContext ac= ActionContext.getContext();
String[] ids=(String [])ac.getParameters().get("id");//获得是一个数组。不一个字符串.
action代码:
写道
HttpServletRequest request= ServletActionContext.getRequest();
String id=request.getParameter("id");
nodes=new ArrayList<Node>();
if(id==null)
{
Node node=new Node("1","部门一","0",false);
Node node1=new Node("2","部门二","0",false);
Node node2=new Node("3","部门三","0",false);
Node node3=new Node("4","部门四","0",false);
nodes.add(node);
nodes.add(node1);
nodes.add(node2);
nodes.add(node3);
}else{
Node node=new Node("9","部门一_1","2",false);
Node node1=new Node("10","部门一_2","2",false);
Node node2=new Node("11","部门一_3","2",false);
Node node3=new Node("12","部门一_4","2",false);
nodes.add(node);
nodes.add(node1);
nodes.add(node2);
nodes.add(node3);
}
// ActionContext ac= ActionContext.getContext();
// nodes=new ArrayList<Node>();
// String[] ids=(String[])ac.get("id");
//
// //String[] ids=(String [])ac.getParameters().get("id");
//
// if(ids==null){
// Node node=new Node("1","部门一","0",false);
// Node node1=new Node("2","部门二","0",false);
// Node node2=new Node("3","部门三","0",false);
// Node node3=new Node("4","部门四","0",false);
// nodes.add(node);
// nodes.add(node1);
// nodes.add(node2);
// nodes.add(node3);
// }else{
// String id=ids[0];
// System.out.println(id);
// if(id.equals("1"))
// {
// Node node=new Node("5","部门一_1","1",false);
// Node node1=new Node("6","部门一_2","1",false);
// Node node2=new Node("7","部门一_3","1",false);
// Node node3=new Node("8","部门一_4","1",false);
// nodes.add(node);
// nodes.add(node1);
// nodes.add(node2);
// nodes.add(node3);
// }
// else
// {
// Node node=new Node("9","部门一_1","2",false);
// Node node1=new Node("10","部门一_2","2",false);
// Node node2=new Node("11","部门一_3","2",false);
// Node node3=new Node("12","部门一_4","2",false);
// nodes.add(node);
// nodes.add(node1);
// nodes.add(node2);
// nodes.add(node3);
// }
// }
//转化为json对象
JSONArray jsonObject = JSONArray.fromObject(nodes);
try {
result = jsonObject.toString();
} catch (Exception e) {
result = "ss";
}
System.out.println(result);
return "success";
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">
<title>Insert title here</title>
<script src="jquery-1.4.2.min.js"></script>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//获取顶级部门
d = new dTree('d');
d.add(0,-1,'系统');
$.ajaxSetup({cache:false});
$.getJSON("getTreeNode.action",function call(data){
var org=eval("("+data+")");
// alert(org.length);
for(var i=0;i<org.length;i++){
// alert(org[0].id);
//id, pid, name, url, title, target, icon, iconOpen, open
d.add(org[i].id,0,org[i].desc,"javascript:addNextOrg('"+org[i].id+"');",'测试节点');
}
$("#showDtree").html(d.toString());
});
});
//获取下级部门
function addNextOrg(ID){
$.getJSON("getTreeNode.action?id="+ID,function call(data){
// alert(data);
var org1=eval("("+data+")");
alert(org1.length);
if(org1.length!=0){
for(var i=0;i<org1.length;i++){
alert(org1[i].id);
d.add(org1[i].id,ID,org1[i].desc,"javascript:addNextOrg('"+org1[i].id+"');",'测试节点');
}
$("#showDtree").html(d.toString());
}
});
}
/*
function showformDiv(id){
$('.formDiv').hide();
$(id).show();
}
function buildOrg(){
var str=$("#buildOrg").serialize();
alert(str);
$.getJSON("/simple/DynajetServlet?Method=buildOrg&"+str,function call(data){
var result=data.result;
// alert("hello");
$("#result").text(result);
});
}*/
/*
function orgChange(){
$.ajaxSetup({cache:false});
var orgId=$("#orgList").val();
alert(orgId);
$.getJSON("/simple/SalesServlet?Method=getRoleJson&orgId="+orgId,function call(data){
var continents =data.roleList;
for(var i=0;i<continents.length;i++){
$("#roleList").append('<option value='+continents[i].roleId+'>'+continents[i].description+'</option>');
}
});
}
*/
</script>
</head>
<body>
<div id="showDtree">
</div>
</body>
</html>
Struts2配置
<package name="tzp1" extends="json-default">
<action name="getTreeNode" class="com.tzp.testTree.GetTreeNode" method="execute" >
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>
分享到:
相关推荐
2. **异步加载树节点**:当用户展开一个节点时,使用Ajax发送请求到服务器,获取该节点的子节点数据,然后使用dtree提供的API将新数据插入到现有树中。 3. **优化策略**:通常,初始加载只展示顶级节点,其余节点按...
在本项目"ajax,servlet动态加载dtree"中,我们看到的是利用Ajax技术和Servlet实现dtree(一种树形菜单控件)的动态加载。这个项目可能是一个文件管理系统或者目录浏览应用,其中dtree用于展示文件或目录结构,而...
总结起来,要在SSH框架的JSP页面中使用dtree.js实现树形浏览,你需要整合前端和后端的代码,利用dtree.js的API构建交互式树形结构,并通过Ajax获取和更新数据。这个过程涉及到JavaScript编程、Ajax通信、以及对SSH...
因此,你可能需要使用Ajax请求获取并更新数据,保持树与服务器数据同步。 通过掌握以上知识点,你就能有效地利用`dtree`插件创建出功能丰富、交互性强的树形控件。在实际开发中,不断实践和调整会让你对`dtree`的...
在这个场景中,"Dtree动态树菜单"是一个专门用于实现这种功能的工具或库。下面我们将深入探讨Dtree动态树菜单的相关知识点。 1. **Dtree介绍**: Dtree通常是一个JavaScript库或者框架的一部分,用于构建可扩展的...
本文将深入探讨Ajax树的概念,并以"stree"这个dtree的扩展为例,解析其如何通过DOM操作和数据库交互实现动态加载子节点。 **一、Ajax树概述** Ajax树是一种利用Ajax技术实现的动态加载树形结构,它能够在不刷新...
4. **dtree初始化**:使用jQuery选择器找到树的容器元素,然后调用`dtree`方法,传入配置参数,如数据源URL、初始展开的节点ID等。 5. **数据加载**:当页面加载完毕或用户触发特定事件时,`dtree`会通过Ajax请求...
dTree是一个纯JavaScript实现的树形控件,它可以无需依赖任何其他库独立工作,但与jQuery结合使用时,可以更好地利用jQuery提供的DOM操作、事件处理和动画效果。dTree提供了创建、遍历和操作树形结构的API,允许...
【标题】"jsp实现树形结构dtree"涉及的核心技术主要集中在JSP(JavaServer Pages)、JavaScript以及一种叫做dtree的树形展示库。这里,我们将会深入探讨这些技术及其在构建树形结构中的应用。 首先,JSP是Java的一...
这个实例着重展示了如何利用jQuery dTree动态地构建一个无限层级的树形菜单,并实现基本的数据操作功能,包括添加、删除、修改和查询。下面我们将深入探讨这个主题。 首先,jQuery dTree是一个轻量级的插件,它基于...
你可以通过AJAX获取JSON数据,然后用这些数据构建或更新树形结构。 8. **扩展与插件** 开源的`dtree`允许开发者根据需要扩展功能,例如增加拖放操作、搜索功能或右键菜单等。社区中也可能存在现成的插件供直接使用...
本主题聚焦于使用dtree与jQuery库动态实现无限层级的树形菜单,并涵盖增删改查的基本功能。dtree是一款基于jQuery的插件,它提供了丰富的API和灵活的配置选项,使得在网页上创建交互式树形菜单变得简单易行。 首先...
综上所述,这个项目不仅教你如何使用DTree展示树形数据,还涵盖了SSH框架的整合和权限管理的实现,是学习前后端交互、数据库操作和权限控制的一个实用案例。开发者可以通过这个项目深入理解JavaScript与服务器之间的...
DTREE,全称Data Tree,是一种数据展示控件,通常用在图形用户界面中,用于以树形结构展示数据,它允许用户展开、折叠节点,方便地浏览和操作层次结构数据。 在"json+dtree定时刷新dtree"这个主题中,我们主要关注...
DTree,作为一个动态树形菜单的实现,是网页应用中用于展现多级分类数据的有效工具。在这个项目实例中,我们将深入探讨DTree的原理、实现方式以及其在实际应用中的优势。 首先,我们要理解“动态”这个词在DTree中...
这通常通过Ajax异步请求实现,请求返回的数据结构与前面示例类似,然后更新已有的dtree实例即可: ```javascript // 假设getMenuFromServer返回的是一个Promise getMenuFromServer().then(function(menuData) { ...
总之,多选菜单树Dtree是提升用户交互体验的重要工具,通过合理的设计和实现,可以使用户在处理层次化数据时更加高效。在实际开发中,开发者需要综合运用前端和后端技术,以及良好的UI/UX设计原则,来创建功能完备、...
在"dtree树 struts1+hibernate+dtree"这个项目中,可能的实现方式是:用户通过dtree展示和操作层级数据,这些数据通过Struts1控制器与后台服务交互,而Hibernate负责将这些数据在数据库中持久化。当用户进行操作时,...
这可以通过异步请求实现,例如使用Ajax: ```javascript fetch('data.json') .then(response => response.json()) .then(data => { data.forEach(item => tree.add(item)); }); ``` 这里假设`data.json`返回一...
下面将详细探讨dtree树形插件的核心功能、使用方法以及其在HTML中的实现原理。 1. **核心功能**: - **动态加载**:dtree支持动态加载子节点,可以根据用户操作或需求逐步加载,减少初次加载时的数据量。 - **...