導航樹效果,JSP + JavaScript 實現

來源:互聯網
上載者:User
javascript|js|導航

轉自:http://java.mblogger.cn/zhipingch/posts/15336.aspx
類似 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>
< width="100%" height="100" id="hiddenframe"></>
<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)
              {%>
                
                <%}  %>  
                >
                <%=ResultSetX.getString("remark")%></a>
</div>
        
<div id='Node_<%= i %>_0' style='display: none' loaded='no'>
          正在載入 ...
   </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 + "  ";
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 + "  正在載入 ...</div>";
 %>
 <% i++;
    }%>
<BODY>
<script>
   var x = eval('parent.' + '<%= ParentNode + "_0"%>' ) ;
   x.innerHTML="<%= sHTML %>";
</script>
</BODY>
</HTML>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.