导航:首页 > 编程语言 > 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动态生成树相关的资料

热点内容
彩视制作教程 浏览:766
圣墟在哪个App看免费 浏览:395
网络哪些不能玩 浏览:868
probe315使用教程 浏览:646
数字电位器程序 浏览:198
c代码整理 浏览:104
网络营销具有什么优势 浏览:378
右下角网络连接不显示宽带连接 浏览:940
ps修改tif文件 浏览:580
预防医学如何转行做大数据 浏览:234
pdf文件变蓝 浏览:309
怎么在pdf文件上面用k宝签名 浏览:213
如何知道表格里数据后面有空格 浏览:720
gee引擎更新系统找不到指定文件 浏览:802
贝壳网的数据删除了如何找回 浏览:509
华为荣耀6x怎么切换网络 浏览:418
手机里的pdf文件在哪放 浏览:889
java版贪吃蛇毕业论文 浏览:989
微信公共号邮箱 浏览:415
图片宽度代码 浏览:460

友情链接