首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

dtree没法显示(急)

2013-07-08 
dtree无法显示(急!!)本帖最后由 march_on 于 2012-07-23 21:35:43 编辑我打算用dtree写一个树状结构,结构

dtree无法显示(急!!)
本帖最后由 march_on 于 2012-07-23 21:35:43 编辑 我打算用dtree写一个树状结构,结构树状结构怎么也显示不出来。
工程的目录结构是这样的
[img=http://my.csdn.net/march_on/album/detail/1223751][/img]
我把example01.html文件中的内容拷贝到index.jsp文件中,代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>
<title>Destroydrop &raquo; Javascripts &raquo; Tree</title>
<!--head中的绝大多数内容都不会呈现在网页中 -->

<link rel="StyleSheet" href="../styles/dtree.css" type="text/css" />
<script type="text/javascript" src="../scripts/dtree.js"></script>

</head>

<body>

<h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1>

<h2>Example</h2>

<div class="dtree">

<p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>

<script type="text/javascript">

document.write("df");//这是我测试用的,放在这里页面上会显示df,放在d=new dTree('d')后面页面就没有df了。
d = new dTree('d');
d.add(0,-1,'My example tree');
d.add(1,0,'Node 1','example01.html');
d.add(2,0,'Node 2','example01.html');
d.add(3,1,'Node 1.1','example01.html');
d.add(4,0,'Node 3','example01.html');
d.add(5,3,'Node 1.1.1','example01.html');
d.add(6,5,'Node 1.1.1.1','example01.html');
d.add(7,0,'Node 4','example01.html');
d.add(8,1,'Node 1.2','example01.html');
d.add(9,0,'My Pictures','example01.html','Pictures I\'ve taken over the years','','','../img/imgfolder.gif');
d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
d.add(11,9,'Mom\'s birthday','example01.html');
d.add(12,0,'Recycle Bin','example01.html','','','../img/trash.gif');
document.write(d);

</script>

</div>

</body>

</html>


运行之后是这样的:
[img=http://my.csdn.net/march_on/album/detail/1223752][/img]
树根本没有显示出来


[解决办法]
http://www.teta.com.cn/teta/common/images/MzTreeView10/MzTreeView10.htm   
MzTreeView 1.0 树形控件 Demo 这个树的节点有1000多个 但速度很快  

使用:  
1.下载控件,MzTreeView10  
2.把MzTreeView10整个目录放置在web工程下(图片,js)  
3.在后台建一个 java类(生成字符串返回给前台)  
格式如下:  

tree.nodes["408_1239"]=" text:显示文本; data:id=自己的ID;URL=转向的URl method:alert('');";  

!注意分号和 “”号也都要,自己写方法取得数据库要生存树的表所有记录,然后拼凑,一条记录生成一个这样的节点字符串给JS解析  

tree是可以指定的树的名称  
408 是数据库的父节点id  
1239 是自己的id  
text 是显示在页面的节点名称  
data 跟URL 配和,当点击转向另外地址是 后面自动带参数id=自己的ID;如url.jsp?id=5;  
mehod 点击后触发的js方法,可自定义执行  

默认解析根节点为0(数据库要设置)

后台


String sqlStr = "select id,parent_id, name from xx where parent_id is not null order by parent_id "; 
try { 
HibernateDao.getSession().beginTransaction(); 
conn = HibernateDao.getSession().connection(); 
stmt = conn.createStatement(); 
rs = stmt.executeQuery(sqlStr); 
while ( rs.next()) { 
s+="tree.nodes['"+rs.getString("parent_id")+"_"+rs.getString("id")+"'] = 'text:"+rs.getString("name")+";method:myfunc(""+rs.getString("name")+','+rs.getString("id")+"")';"; 

System.out.println(s); 
conn.commit(); }
catch( SQLException e)
{ e.printStackTrace(); }
finally{ 
try{ if( stmt != null ) 
stmt.close(); 
if( rs != null ) 
rs.close(); 
if( conn != null ) 
conn.close(); 
}catch( SQLException e)

e.printStackTrace();
 }
 }





JSP页面代码

<%@ page language="java" pageEncoding="UTF-8"%> 
<%@ page import="util.*,java.util.*,com.feiji.dto.SysMenuDto,org.dom4j.Document;"%> 
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <SCRIPT type="text/javascript" src="<%=basePath %>js/test.js"></SCRIPT> 


<SCRIPT type="text/javascript" src="<%=basePath %>js/MzTreeView10.js"></SCRIPT>
<link rel="stylesheet" href="images/total.css" type="text/css"> 
 <style type="text/css">  
 body, td {  font-family: 宋体;  font-size: 12px;  } 
 A:LINK, A:VISITED, A:ACTIVE, A:HOVER {  color:#000;  text-decoration:none;  font-family:arial;  font-size:12px;  padding-left:2px;  }  
 </style> 
 <title>文件</title>
 </head> 
 <body class="body01">
 <table width="100%" border=0 cellspacing=3 bgcolor="#B8D1F8">  
 <tr>  
 <td bgcolor=white valign=top> 
 <div id=treeviewarea style="background-color: "></div>  
 <SCRIPT LANGUAGE="JavaScript"> 
 <!--  var tree = new MzTreeView("tree"); 
 tree.setIconPath("/elearn/course/treeImages/"); 
 tree.nodes['0_1'] = 'text:课程目录1';
 <%  String tree = (String)request.getAttribute("treeList"); out.print(tree); %>  
 document.getElementById('treeviewarea').innerHTML = tree.toString(); 
 function myfunc(n){ 
 window.returnValue= n; 
 window.close(); 
 } //--> 
 </SCRIPT> 
 </tr>  
 </table> 
 </body> 
 </html>


[解决办法]
需要提醒楼主的是:document.write("df");会清空整个HTML,只剩下 df 两个字。
所以想输出点调试信息,最好是用:alert("Hello");

另外建议楼主把 浏览器自带的调试功能打开,比如IE9是按 F12,然后选Console页,看究竟报了什么错误。
[解决办法]
这个问题很容易,楼主解决了没有?

热点排行