在jsp上添加treeview,用ajax动态加载节点,哪位高手帮一下,急用?

解决方案 »

  1.   

    树的JSP
    <HTML><HEAD><TITLE>主菜单</TITLE>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
    <META http-equiv=Content-Type content="text/html; charset=gb2312"><script language=JavaScript>
    var nowid="";
    function new_req() {
    if (window.XMLHttpRequest) return new XMLHttpRequest;
    else if (window.ActiveXObject) {
    var req;
    try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) { try {req = new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) { return null; }}
    return req;
    } else return null;
    }
    function _get(url, args, fn, sync)
    { var req = new_req();
    if (args != "") args = "?" + args;
    req.open("GET", url + args, sync);
    req.onreadystatechange = function() { if (req.readyState == 4) fn(req);};
    req.setRequestHeader("If-Modified-Since","0");
    req.send('');
    }
    function backCheck(req){
    if(req.status == 200 || req.status == 0)
       {
          if(req.responseText=="")
             document.all[nowid].innerHTML="<div style='padding:10px;'>无效数据</div>";
          else
             document.all[nowid].innerHTML=req.responseText;
       }
       else
       {
          document.all[nowid].innerHTML="<div style='padding:10px;'>错误:"+req.status+"</div>";
       }
    }
    </script>
    </HEAD>
    <BODY class=panel2>  <UL class="ul2">
      <%
      for(int i=0;i<10;i++){   %>
        <LI class="ul2"><A id=<%=sID %> href="javascript:c('<%=sID %>','attid=<%=sAttID %>&caseid=<%=caseid %>&libid=<%=sLibID %>');"><SPAN><IMG id="<%=sID %>m" src="../../image/ar.png"><%=title %></SPAN></A> 
        <UL id=<%=sID %>d style="DISPLAY: none" class="ul2">
        </UL></LI>
        <%
        }
         %>
     </UL>
     <SCRIPT language=JavaScript>//-------- 菜单点击事件 -------
    function c(id,param)
    {
      var targetid,targetelement;
      var strbuf;  var el=$(id);
      if(!el)
         return;
      //-------- 如果点击了展开或收缩按钮---------
      targetid=el.id+"d";
      imageid=el.id+"m";
      nowid=targetid;
      targetelement=document.getElementById(targetid);  if (targetelement.style.display=="none")
      {
         targetelement.style.display='';

     $(imageid).src="../../image/arrow_d.png";
    if(targetelement.innerHTML==""){
    _get("libraryselect.jsp", param, backCheck,true);
    }
      }
      else
      {
         targetelement.style.display="none";
     $(imageid).src="../../image/ar.png";
         
      }
    }
    var $ = function(id) {return document.getElementById(id);};</SCRIPT>
    </BODY></HTML>
    参数只要sID对应上就行libraryselect.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%><%    
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");
    String attid = request.getParameter("attid");
    String caseid = request.getParameter("caseid");
    String libid = request.getParameter("libid");
    for(int i=0;i<10;i++){%>
    <LI class="li2"><A href="" target="right"><SPAN><IMG src="../../image/page.gif" align=absMiddle>b<%=i %></SPAN></A></LI>
    <%
    }
    %>
    这个页面接收参数 查询树的节点 然后返回
      

  2.   

    你的这个treeview不是用jquery的插件的做的吧,有用jquery.treeview.js
    插件做的吗,具体jsp页面程序,还有关于ajax的详细后台程序,谢谢了。
      

  3.   

    我最近也在看这块东西,推荐你一个:
    http://www.cnblogs.com/CoreCaiNiao/archive/2010/08/20/1804387.html