我做的一个,给你参考
parttree.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.Connection,com.data.DBConnect"%>
<html>
<head>
<title>网站结构</title>
<style type="text/css">
  <script language="JScript">
function turnit(ss,ii,aa)
{
 if (ss.style.display=="none") 
  {
    ss.style.display="";
    ii.src="/tree/t2.gif";
    aa.style.display="";
   }
 else
  {
    ss.style.display="none"; 
    ii.src="/tree/t1.gif";
    aa.style.display="none";
   }
  }
  function maingo(part_id,part_name)
  {
  parent.mainFrame.location="/part/part_util.jsp?part_id="+part_id;
  }
</script>
</head>
<body>
网站结构
<%
Connection con=new DBConnect().getConn();
request.setAttribute("con",con);
request.setAttribute("part_main_id","-1");
request.getRequestDispatcher("part.jsp").include(request,response);
%>
</body>
</html>part.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.Connection,com.model.*,com.database.*"%>
<table width="100%" border="0" cellpadding="3" cellspacing="2" bordercolor="#FFFFFF" bgcolor="#FFFFFF" class="tr1">
  <%
String part_main_id=(String)request.getAttribute("part_main_id");//?鬣???ID
String imgnum=(String)request.getAttribute("imgstr");
Connection con=(Connection)request.getAttribute("con");
PartDB pd=new PartDB();
String imgstr="";
if(imgnum==null||imgnum.equals(""))
{
imgstr="";
}
PartVector pv=pd.executeQueryMain(con,part_main_id);
PartModel pm=null;
for(int i=0;i<pv.size();i++)
{
pm=pv.get(i);
String part_id=pm.getPart_id();
String part_name=pm.getPart_name();
String issubschema=pm.getIssubschema();
if(issubschema!=null&&issubschema.equals("0")){//?T左???2|囗
%>
    <tr>
    <td height="26" bgcolor="#E1E1E1" class="txt2"><%=imgstr%><img src="/tree/treeimg/dot.gif" width="12" height="12"></td>
    <td width="505" bgcolor="#E1E1E1" onClick="maingo('<%=part_id%>','<%=part_name%>')" style="cursor:'hand'"><%=part_name%></td>
    </tr> 
<%}else{//驞左???2|囗
String content1="content"+part_id;
String img1="img"+part_id;
String aux1="aux"+part_id;%>
<tr>

    <td height="26" bgcolor="#E1E1E1" class="txt1" style="cursor:'hand';" onmouseup="turnit(<%=content1%>,<%=img1%>,<%=aux1%>);" language="JScript"> 
      <%=imgstr%><img src="/tree/t1.gif" width="12" height="12" ID="<%=img1%>"> 
    </td>
    <td bgcolor="#E1E1E1" onClick="maingo('<%=part_id%>','<%=part_name%>')" style="cursor:'hand'"><%=part_name%></td>
   </tr>
<tr>

    <td width="22" height="26" bgcolor="#E1E1E1" class="tr1" ID="<%=aux1%>" STYLE="Display:'none';"> 
    </td>

    <td bgcolor="#E1E1E1" ID="<%=content1%>" STYLE="Display:'none';"> 
      <%
request.setAttribute("con",con);
request.setAttribute("imgstr","1");
request.setAttribute("part_main_id",part_id);
request.getRequestDispatcher("/tree/part.jsp") .include(request,response);
%>
    </td> 
</tr> 
<%}
}
%>
</table>