JSP+JavaScript实现类似MSDNCSDN导航树效果!

王朝html/css/js·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

类似 MSDN CSDN 导航树效果,jsp + javascript 实现!

<!-- Tree.jsp -->

<%@ page contentType ="text/Html;charset=gb2312" %>

<%@ page import="Java.util.*;" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="KeyWords" CONTENT="">

<META NAME="Description" CONTENT="">

</HEAD>

<BODY>

<iframe width="100%" height="100" id="hiddenframe"></iframe>

<script>

function EXPandNode(ParentNode,ParentId){

var NodeX = eval(ParentNode.id + '_0');

if (NodeX.style.display == 'none')

{

NodeX.style.display="block";

if (NodeX.loaded == 'no')

{

document.frames['hiddenframe'].location.replace("suBTree.jsp?PID=" + ParentId + "&PNode=" + ParentNode.id);

NodeX.loaded = 'yes';

}

}

else

{

NodeX.style.display='none';

}

}

</script>

<CENTER>

<TABLE border="1" width="20%" height="60%">

<TR>

<TD>

<DIV style="OVERFLOW: auto;WIDTH: 100%;HEIGHT: 100%">

<TABLE width="300%">

<TR>

<TD>

<%

java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

// java.sql.Connection ConnectionX = java.sql.DriverManager.getConnection("jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\Resin\\doc\\examples\\Tree\\tree.mdb","admin", "");

// java.sql.Statement StatementX = ConnectionX.createStatement();

java.sql.ResultSet ResultSetX = java.sql.DriverManager.getConnection("jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=e:\\resin-2.1.6\\doc\\examples\\Tree\\tree.mdb","admin", "").createStatement().executeQuery("select *,(select count(*) from tree where parentid = T.id) as children from tree T where parentid = 0");

int i=0;

int children;

int ID;

while (ResultSetX.next())

{

children=ResultSetX.getInt("children");

ID=ResultSetX.getInt("id");

%>

<div id='Node_<%= i %>'><a href='#'

<% if (children >0)

{%>

onClick='ExpandNode(Node_<%= i %>,<%=ID %>)'>+</a>

<%;}

else {%>

>-</a><%;}%>

<a href='#'

<% if (children >0)

{%>

onDblClick='ExpandNode(Node_<%= i %>,<%=ID%>)'

<%} %>

>

<%=ResultSetX.getString("remark")%></a>

</div>

<div id='Node_<%= i %>_0' style='display: none' loaded='no'>

&nbsp;&nbsp;正在加载 ...

</div>

<%

i++;

}

%>

</BODY>

</HTML>

<!

-- SubTree.jsp -->

<%@ page contentType ="text/html;charset=gb2312" %>

<%@ page import="java.util.*;" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

</HEAD>

<%

String ParentNode = request.getParameter("PNode");

int i;

int j;

String nSpace="";

j= ParentNode.length()- ParentNode.replaceAll("_","").length();

for (i=0;i<j;i++)

nSpace = nSpace + "&nbsp;&nbsp;";

String sHTML ="";

i=0;

java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

// java.sql.Connection ConnectionX = java.sql.DriverManager.getConnection("jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\Resin\\doc\\examples\\Tree\\tree.mdb","admin", "");

// java.sql.Statement StatementX = ConnectionX.createStatement();

java.sql.ResultSet ResultSetX = java.sql.DriverManager.getConnection("jdbc:ODBC:driver={Microsoft Access Driver (*.mdb)};DBQ=e:\\resin-2.1.6\\doc\\examples\\Tree\\tree.mdb","admin", "").createStatement().executeQuery("select *,(select count(*) from tree where parentid =T.id ) as Children from tree T where parentid = " + request.getParameter("PID"));

int children;

int ID;

while (ResultSetX.next())

{ children=ResultSetX.getInt("children");

ID=ResultSetX.getInt("id");

sHTML = sHTML + "<div id='" + ParentNode + "_" + (i + 1) + "'>" + nSpace + "<a href='#'";

if (children >0)

sHTML = sHTML + " onClick='ExpandNode(" + ParentNode + "_" + (i + 1) + "," + ID + ")'>+";

else sHTML = sHTML + ">-";

sHTML = sHTML + "</a>\\n" + "<a href='#'";

if (children >0)

sHTML = sHTML + " onDblClick='ExpandNode(" + ParentNode + "_" + (i + 1) + "," + ID + ")'";

sHTML = sHTML + ">" + ID + ": " + ResultSetX.getString("remark") + "</a></div>";

if (children >0)

sHTML = sHTML + "<div id='" + ParentNode + "_" + (i + 1) + "_0' style='display: none' loaded='no'>" + nSpace + "&nbsp;&nbsp;正在加载 ...</div>";

%>

<% i++;

}%>

<BODY>

<script>

var x = eval('parent.' + '<%= ParentNode + "_0"%>' ) ;

x.innerHTML="<%= sHTML %>";

</script>

</BODY>

</HTML>

bill-转自:csdn

right"(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航