導航:首頁 > 編程語言 > jsp動態生成樹

jsp動態生成樹

發布時間:2023-06-02 05:10:24

『壹』 jsP實現樹形菜單

1.你的設計有點不合理
2.不知道用什麼資料庫

建議:使用dtree或者xloadtree 這兩個是最常用的回樹形組件.
把表結構換答成一張表,加個欄位父id.
ID 名字 父ID
1 香煙 0
2 中華 1
3 中南海 1
4 酒 0
5 茅台 4
6 小茅台 5

如果資料庫是oracle的話,直接使用遞歸查詢
如果是其他資料庫,建議使用 xloadtree,點擊一下,會動態刷出子節點.ajax效果.

--------------------------------補充
那就推薦你用ajax的樹.
剛開始的時候只需要大類型
id name
1 煙
2 酒

小類表
id name pid
1 中華 1
2 中南海 1
3 茅台 2

取大類直接查.生成樹之後
每點擊一下容然後去查小類

比如點擊煙 把煙的id傳到後台id=1

然後查小類 select *from XXX where pid=1
那麼所有的小類就都出來了.

『貳』 jsp做級聯下拉菜單

這里有一個js的多級聯動下拉菜單
可以自定義位置和樣式 比較實用
裡面有教程和源碼

『叄』 哪位大俠可以幫我寫一段java代碼!是關於根據資料庫里的數據來形成一個動態樹形圖

這是代碼,你可以自己調試一下。
數據結構如下:

CREATE TABLE dtree (
id int,
pid int,
name varchar(200),
url varchar(200),
title varchar(200),
target varchar(200),
icon varchar(200),
iconopen varchar(200),
opened bit);

為了實現獲取資料庫變數功能,需要建立一個DTree類,並編譯生成CLASS文件,放入\WEB-INF\classes文件夾下。

DTree類代碼如下:

package work3;

public class DTree {
private int id;
private int pid;
private String name;
private String url;
private String title;
private String target;
private String icon;
private String iconOpen;
private int opened;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIconOpen() {
return iconOpen;
}
public void setIconOpen(String iconOpen) {
this.iconOpen = iconOpen;
}
public int getOpened() {
return opened;
}
public void setOpened(int opened) {
this.opened = opened;
}

}

work3.jsp代碼如下:

<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id='settree' scope="application" class="work3.DTree" />

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
<title>dTree in MySQL</title>
</head>
<body>

<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">
<!--
d = new dTree('d');
<%
//驅動程序
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
//資料庫用戶名
String userName = "sa";
//密碼
String userPwd = "1";
//資料庫名
String dbName = "master";
//表名
String tableName = "dtree";
//連接字元串
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName="+dbName;
//載入驅動
Class.forName(driverName).newInstance();
//連接資料庫
java.sql.Connection conn = DriverManager.getConnection(url,userName,userPwd);
//得到Statement實例
java.sql.Statement statement = conn.createStatement();
//查詢數據
String sql = "select * from " + tableName;
//返回結果
java.sql.ResultSet rs = statement.executeQuery(sql);
//獲取變數
while (rs.next()) {
settree.setId(rs.getInt(1));
settree.setPid(rs.getInt(2));
settree.setName(rs.getString(3));
settree.setUrl(rs.getString(4));
settree.setTitle(rs.getString(5));
settree.setTarget(rs.getString(6));
settree.setIcon(rs.getString(7));
settree.setIconOpen(rs.getString(8));
settree.setOpened(rs.getInt(9));

if(settree.getPid()==0)
settree.setOpened(1);
%>
d.add(<%=settree.getId()%>,<%=settree.getPid()%>,'<%=settree.getName()%>','<%=settree.getUrl()%>','<%=settree.getTitle()%>','<%=settree.getTarget()%>','','',<%=settree.getOpened()%>);
<%
}
%>
document.write(d);
//-->
</script>

</div>
</body>
</html>

『肆』 jsp頁面動態載入數據

$.post("userManager!UserQuery.action",{pageNo:pageIndex},function(r){
r=r.replace(" ","\r\n");
jsonTwo=r;
varjson=eval("("+r+")");
$.each(json,function(k,v){
varhtml="";
html+="<tr>";
html+="<td>"+(i++)+"</td>";
html+="<td>"+v['userName']+"</td>";
html+="<td>"+v['quanxian']+"</td>";
html+="<td><ahref=javascript:quanxian("+v.id+")>設置許可權</a></td>";
html+="<td><ahref=javascript:deleteUser("+v.id+")>刪除</a></td>";
html+="</tr>";
$('#QueryTable').append(html);
});
});

一個簡單的小例子 不懂再問

『伍』 jsp中動態載入樹(json、jquery)

var jsonrpc;
var result;

function showInstitute( id ) {

if ($.trim($("#insList_"+id).html()) == "") {

result = jsonrpc.instituteByCollegeIdListBean.listInstituteByCollegeId(id);

if (result != null) {
var len = result.list.length;
str = "<ul class=\"insName\">";
for (var i = 0; i < len; i++) {
str += "<li ><a href=\"javascript:listCourse("+result.list[i].id+")\">";
str = str + "<h2>"+ result.list[i].name+"</h2>";
str = str + "</a></li>";
}
str += "</ul>";

//$('.insName').hide();//class來控制顯隱
//alert($('.insName'));
//alert($('.insName').length);
$('.insName').remove();
//$('.insName').each(function(i){$(this).remove();});
$("#insList_"+id).html(str);
}
} else {
$("#insList_"+id).html("");
}
}
onload="jsonrpc= new JSONRpcClient('${pageContext.request.contextPath}/JSON-RPC')
我試過了沒問題的,+分呀!!!

閱讀全文

與jsp動態生成樹相關的資料

熱點內容
word使用教程下載 瀏覽:295
電腦文件平鋪圖片默認大小 瀏覽:115
文件查看設置信息失敗 瀏覽:668
編程如何編出烏鴉喝水的課文 瀏覽:20
國家反詐app報案助手怎麼使用 瀏覽:439
秘密文件丟失多少天 瀏覽:237
js中csstext 瀏覽:382
目標文件名過長復制 瀏覽:892
樂動力計步器老版本 瀏覽:933
壓縮文件鏈接怎麼編輯 瀏覽:808
如何鎖定PDF文件里的圖章 瀏覽:89
資料庫超時是什麼 瀏覽:649
文件怎麼改整列內容 瀏覽:764
360壓縮文件發郵件空白 瀏覽:813
上哪裡查自己大數據 瀏覽:907
編程語言怎麼學車 瀏覽:189
編程該怎麼學才能先找工作 瀏覽:524
文件刻制光碟多少錢 瀏覽:861
校園網的網路組成結構 瀏覽:862
u盤系統復制文件過大 瀏覽:843

友情鏈接