jsp怎么从mysql数据库把树形结构展现出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp怎么从mysql数据库把树形结构展现出来相关的知识,希望对你有一定的参考价值。

jsp从mysql数据库读取数据,并填充到树形结构菜单并展现出来的实现方法:

1、引入jquery.treeview.js树控件

 <script type="text/javascript" src="jquery/easyui/jquery.min.js"></script>
 <script type="text/javascript" src="jquery/easyui/jquery.easyui.min.js"></script>

2、jsp页面中获取后台mysql数据,并传到jsp页面来

<% 
// 数据库的名字
String dbName = "zap";
// 登录数据库的用户名
String username = "sa";
// 登录数据库的密码
String password = "123";
// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1
String host = "127.0.0.1";
// 数据库的端口,一般不会修改,默认为1433
int port = 1433;
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
+ ";password=" + password;
//
//声明需要使用的资源 
// 数据库连接,记得用完了一定要关闭
Connection con = null;
// Statement 记得用完了一定要关闭
Statement stmt = null;
// 结果集,记得用完了一定要关闭
ResultSet rs = null;
try
// 注册驱动 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 获得一个数据库连接
con = DriverManager.getConnection(connectionUrl);
String SQL = "SELECT * from note";
// 创建查询
stmt = con.createStatement();
// 执行查询,拿到结果集
rs = stmt.executeQuery(SQL);
while (rs.next())
%>
<tr>

3、填充树形菜单:


 id          : "string" // will be autogenerated if omitted
 text        : "string" // node text
 icon        : "string" // string for custom
 state       :
   opened    : boolean  // is the node open
   disabled  : boolean  // is the node disabled
   selected  : boolean  // is the node selected
 ,
 children    : []  // array of strings or objects
 li_attr     :  // attributes for the generated LI node
 a_attr      :  // attributes for the generated A node

$('#tree').jstree(
   'core' :
       'data' : function (obj, cb)
           cb.call(this,
             ['Root 1', 'Root 2']);
       
   );

参考技术A 数据库里只存对应的照片地址啦····
比如 upload/images/xxx.jpg

JSP页面就这样显示咯
<%
String imgUrl = “upload/images/xxx.jpg”;//这个地址是你实际从数据库里取出来的,,如果怕照片显示不出来,加上绝对路径request.getContextPath()+"/"+imgUrl %>
<img src="<%=imgUrl %>" alt="images"/>

sql server怎么对树形结构表的节点进行拼接

我这个只是实现了显示最后两个节点,要怎么修改才能拼接所有的节点,是不是我里面哪里错了?
研究出来了,把cast那一行改掉就行了

参考技术A DECLARE @temp nvarchar(MAX)='',@pid bigint=3;
WHILE @pid<>0 BEGIN IF @temp=''
SELECT @temp=TypeName,@pid=ParentId
FROM [dbo].[Test]
WHERE Id=@pid;
ELSE
SELECT @temp=(TypeName+'->'+@temp),@pid=ParentId
FROM [dbo].[Test]
WHERE Id=@pid;
END;
SELECT @temp AS TypeName;
参考技术B 用标准sql的with实现递归查询(sql2005以上肯定支持,sql2000不清楚是否支持):

with subqry(id,name,pid) as (
select id,name,pid from test1 where id = 5
union all
select test1.id,test1.name,test1.pid from test1,subqry
where test1.pid = subqry.id
)
select * from subqry;

以上是关于jsp怎么从mysql数据库把树形结构展现出来的主要内容,如果未能解决你的问题,请参考以下文章

如何用java与jsp实现树形结构

JSP实现树形菜单

java树形结构如何从数据库读取数据

java代码怎样查出树形结构的某个节点的所有子孙节点?要算法实现!!

树形结构的数据表schema设计乱了怎么恢复

怎么把MySQL数据库的内容在jsp界面中显示出来,并且连接数据库部分和界面要分开写