`

用dtree 实现ajax树

阅读更多

环境  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>

 

 

分享到:
评论

相关推荐

    ajax动态实现tree

    dtree显示树,使用ajax加载xml文件动态生成树结构

    layui-tree实现Ajax异步请求后动态添加节点的方法

    最近在弄一个产品分类管理,是一个树形菜单的形式,用的是layui-tree ,由于它并没有动态添加节点,所以只能自己刚了。 大概效果如图 体的实现是当我鼠标移入“长袖”这个分类时,出现三个icon (如图),按“增加”...

    jquery小插件--表格树--GridTree(过期版本)

    自己写的一个基于jquery的小插件,实现了表格树的基本功能,尽量实现了JQTreeTable的基本功能并实现了前台分页,以及可以添加自定义列。支持json数据格式。 最新版本http://download.csdn.net/source/1757010 ...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    12.jQuery制作登录按钮实现Ajax带状态提示 13.jvalidate无刷新表单验证插件示例下载 14.分享jquery无刷新多功能表单验证插件并漂亮美化表单及错误输入提示效果 15.简单jQuery+CSS实现验证表单红色提示效果 ...

    java源码包2

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    java源码包---java 源码 大量 实例

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    java源码包3

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    java源码包4

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

Global site tag (gtag.js) - Google Analytics