`

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

 
阅读更多

测试站点:
http://www.triaton.com.cn:1080/examples/tree/tree.jsp

类似 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>

分享到:
评论

相关推荐

    jsp+JavaScript+struts+hibernate+css+mysql的网上书店

    【标题】"jsp+JavaScript+struts+hibernate+css+mysql的网上书店"是一个基于Java技术栈的Web应用程序示例,它整合了多种技术来实现一个完整的网上书店系统。这个项目涉及到的主要技术包括: 1. **JSP(JavaServer ...

    jsp+css+javascript

    【标题】"jsp+css+javascript" 涵盖了Web开发中的三个核心技术:JavaServer Pages(JSP)、Cascading Style Sheets(CSS)和JavaScript。这些技术结合使用,可以构建功能丰富的、用户交互性强的动态网页应用程序。 ...

    jsp+javascript+jdbc实现登录和注册

    JavaScript还可以实现一些交互效果,如表单的即时反馈,提高用户交互性。 JDBC(Java Database Connectivity)是Java访问数据库的标准接口,提供了与各种数据库通信的能力。在登录和注册功能中,JDBC用于连接到...

    JSP+Javascript+Css帮助文档

    在IT行业中,JSP(JavaServer Pages)、JavaScript和CSS是构建动态网页和应用程序的重要技术。这份"JSP+Javascript+Css帮助文档"为开发者提供了一站式的资源,涵盖了这三个领域的核心概念、用法以及最佳实践。 JSP...

    Ajax+jsp+MySQL实现动态树形菜单

    【Ajax+jsp+MySQL实现动态树形菜单】 在Web开发中,动态树形菜单是一种常见的交互元素,它能够以层次结构展示数据,提供用户友好的导航体验。本项目结合了Ajax、jsp和MySQL三种技术来实现这一功能,下面将详细阐述...

    课程设计:基于java8+jsp+mysql+tomcat+javascript实现的在线考试系统【源码+数据库】.zip

    课程设计:基于java8+jsp+mysql+tomcat+javascript实现的在线考试系统.zip 本系统设计综合应用所学知识开发一个基于MVC模式的考试系统 技术栈 java 8 + jsp + mysql + tomcat + javascript + css 相关工具组件 项目...

    jsp+ajax实现输入框自动搜索

    本文将详细介绍如何使用jsp和ajax技术实现输入框自动搜索功能,类似于百度搜索。 一、标题:jsp+ajax实现输入框自动搜索 该标题表明该技术使用jsp和ajax实现输入框自动搜索功能。 二、描述:类似于百度的搜索一样...

    HTML+CSS+JavaScript+JQuery+JSP

    HTML+CSS+JavaScript+JQuery+JSP学习笔记为本人看各种教程视频记录下来的,希望对大家有帮助。

    Ajax+jsp+oracle实现动态树形菜单

    1. **DOM操作**:在收到Ajax响应后,JavaScript需要更新DOM树,将新的子节点添加到对应的菜单节点下,实现动态加载的效果。 2. **递归结构**:树形菜单可能包含多级子节点,因此在设计和处理数据时,需要考虑到递归...

    (Servlet+JSP+JavaBean实现)用户注册和登陆

    Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此...

    jsp+Servlet+javaBean实现登录注册

    本项目“jsp+Servlet+javaBean实现登录注册”采用经典的Web开发技术栈,包括JavaServer Pages (JSP)、Servlet以及JavaBeans,结合MySQL数据库,利用集成开发环境myEclipse进行开发。下面将详细阐述这些知识点。 1. ...

    jsp+javascript+html+正则表达式+mysql+spring+css+strtus技术文档

    2. **JavaScript**:JavaScript是一种运行在客户端的编程语言,主要用于实现网页的交互性。它能够处理用户输入、更新DOM(文档对象模型),以及通过Ajax实现异步数据交换。与JSP结合使用时,JavaScript通常负责前端...

    Jsp+Servlet+Echarts实现动态数据可视化

    本教程将聚焦于使用JSP、Servlet和ECharts技术来实现动态数据可视化的具体过程和知识点。 首先,JSP(JavaServer Pages)是Java平台上的一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码,从而实现服务器端...

    参考源码-jsp+servlet+jdbc实现新闻管理系统.zip

    这是JSP+Servlet+MySql新闻管理系统,环境Eclipse+Mysql+Tomacat8.5运行的,里面libJAR包都有,jsp+servlet+jdbc实现新闻管理系统,这个视频值得看,很基础。...

    基于JSP+Servlet+JavaBean实现的图书管理系统

    【标题】基于JSP+Servlet+JavaBean实现的图书管理系统 在Web开发中,JSP(JavaServer Pages)、Servlet和JavaBean是常见的技术栈,它们共同构建了动态、交互式的Web应用程序,尤其适用于构建功能丰富的图书管理系统...

    jsp+servlet+javabean+mysql实现的简易BBS论坛系统

    jsp+servlet+javabean+mysql实现的简易BBS论坛系统 适合初学者学习

    基于JavaWeb+mysql网上书店系统(jsp+JavaScript+struts+hibernate+css+mysql)

    jsp+JavaScript+struts+hibernate+css+mysql的网上书店(源码完整直接运行,高仿真数据库记录,身临其境网上购书吧!) 和国内最好的网上书店-------当当网的框架相同,包括顾客的购物车、订单管理和留言板,支持...

    jsp+javabean+servlet实现登录注册以及留言板

    jsp+javabean+servlet使用简单的MVC模式实现登录注册、留言板、分页的功能。model(javabean)层实现读写数据库,数据库名为webapp,...view(JSP)实现展示信息;controller(servlet)层联系model和view,完成交互。

Global site tag (gtag.js) - Google Analytics