请教如何用JAVA/JSP实现树形结构(一定给分)

cloudland 2003-08-25 03:26:43
我想实现象WINDOWS资源管理器里的树形结构的功能
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
junnef 2003-08-26
  • 打赏
  • 举报
回复
已经发给你了,都是javascript的,我们一般很少用applet,以前有一个不过源程序不在这,比用js做还要容易理解,你可以察看一下api文档的帮助,那个树很容易生成。
vtiger 2003-08-25
  • 打赏
  • 举报
回复
下面是viewtree的bean.数据库连接的bean名为Cdatabase,在名为link的package中,不具体写了。Clsid是节点id,Pclsid是父节点id, Clslayer是节点所在层次。

package tree;

import java.beans.*;
import java.sql.*;
import link.*;


public class viewtree extends Object implements java.io.Serializable {
public viewtree(){};
Cdatabase linkconn=new Cdatabase();
public void init(javax.servlet.jsp.JspWriter out) {
linkconn.makeConnection();

try{
buildTree(out,0,0);//初始调用
}catch(Exception e){
System.out.println(e);
}
linkconn.takedown();
}

public void buildTree(javax.servlet.jsp.JspWriter out,int Pclsid,int Clslayer) throws Exception {
Clslayer++;
ResultSet rs=linkconn.executeQuery("select * from Classfication where Pclsid="+Pclsid+" order by Pclsid");
while(rs.next()) {
out.println("<div>");
for(int i=0;i<Clslayer-1;i++)
out.print("<img src=\"images/white.gif\">");
if(has_child(rs.getInt("Clsid"))) {
out.print("<img alt=\"展开\" style=\"cursor:hand;\" onclick=\"showchildclass('"+rs.getInt("Clsid")+"');\" id=\"img"+rs.getInt("Clsid")+"\" src=\"images/plus.gif\"> <img id=\"im"+rs.getInt("Clsid")+"\" src=\"images/closedfold.gif\"> ");
out.print("<a href=search.jsp?Clsid="+rs.getInt("Clsid")+" target=search><span style=\"cursor:default;\" id=\"span"+rs.getInt("Clsid")+"\">"+rs.getString("Clsname")+"</span></a>" );
out.println("<div style=\"display:none;\" id=\"div"+rs.getInt("Clsid")+"\">");
buildTree(out,rs.getInt("Clsid"),Clslayer);//递归调用
out.println("</div>");
}else
out.print("<img src=\"images/minus.gif\"> <img src=\"images/openfold.gif\"> <a href=search.jsp?Clsid="+rs.getInt("Clsid")+" target=search><span style=\"cursor:default;\" id=\"span"+rs.getInt("Clsid")+"\">"+rs.getString("Clsname")+"</span></a>");
out.println("</div>");
}
rs.close();
rs=null;
}

private boolean has_child(int Pclsid) throws Exception{
ResultSet rs=linkconn.executeQuery("select * from Classfication where Pclsid="+Pclsid+" order by Pclsid");
return rs.next();
}

public static void main(String[] args){
}



}

mingjob 2003-08-25
  • 打赏
  • 举报
回复
use jspsmartmenu

you can download it and examples from www.jspsmart.com
junnef 2003-08-25
  • 打赏
  • 举报
回复
java中有一个类呀,java.swing.JTree类;在jsp中可以用javascript来代为实现,用jsp来提供生成树的数据。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧