网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用Filter封装一个请求.
.MIDP2.0中如何通过代码画半透明的.
.KVM简介和编译.
.无线标记语言(WML)基础之编程方法.
.J2ME内存优.
.宠物店大战 (J2EE 与 .NET).
.简析JavaRMI与.NETRemoting.
.应用农历.
.初学j2ee的人都会遇到这样的问题.
.无线标记语言(WML)基础之程序结构.
.J2EE中用EntityBean和JDO的优缺点.
.RMS高效编程指南.
.调用 CGI 脚本.
.JavaBean与EnterpriseJavaBean有.
.开源组织发布J2EE网上书店示例应.
.EnterpriseJavaBeans导论六.
.JavaServlet/Jsp多语言解决方案.
.XP/J2EE的开发过程.
.手机上通用的UTF8转换程序.
.Java中关于XML的API一瞥.

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

发表日期:2007-12-23



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

(出处:)


上一篇:JDO、EJB/CMP、Hibernate和Amber的比较 人气:643
下一篇:MoreJSP编程实践(中) 人气:549
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐