在上文中 通用js树形导航【上】 我们已经实现了一个动态的 js 导航树,节点信息从数据库中读取,添加修改或者删除节点内容,我们的展示层和业务逻辑层的代码一句与不用更改。
现在有一个问题我们在 jsp 页面通过循环显示出了集合中的值,并将其作为参数传递给 add 方法。能不能我在页面做的再简单点呢?接着封装,我们将实现的步骤封装到 业务类中,业务类返回一个 String 之后我们只需要在页面中显示这个 String 就 Ok 了!
首先我们要修改业务类的方法,需要返回一个 String 类型的字符串
DBManager.java 数据库访问类 并取得 DTree 表中的所有数据 封装在一个 StringBuffer 中
package com.ant.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.accp.po.DTree; public class DBManager { private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=tree"; private static final String SA = "sa"; private static final String PWD = "sqlpwd"; private static Connection conn=null; // 打开连接 public static void getConnection() { try { Class.forName(DRIVER); conn = DriverManager.getConnection(URL, SA, PWD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } // 关闭连接 public void closeConnection() { if (conn != null) { try { if (!conn.isClosed()) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } } // 执行在查询 public static ResultSet executeQuery(String sql) { getConnection(); Statement st; try { st = conn.createStatement(); return st.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return null; } // 得到所有的节点 public static String getAll() { ResultSet rs = executeQuery("select * from dtree"); List<DTree> li = new ArrayList<DTree>(); DTree d = new DTree(); try { //这里可以直接封装到 StringBuffer 中 while (rs.next()) { d = new DTree(); d.setId(rs.getInt("id")); d.setPid(rs.getInt("pid")); d.setName(rs.getString("name")); d.setUrl(rs.getString("url")); d.setTitle(rs.getString("title")); d.setTarget(rs.getString("target")); d.setIcon(rs.getString("icon")); d.setIconOpen(rs.getString("iconOpen")); d.setOpen(rs.getString("open")); li.add(d); } StringBuffer contents = new StringBuffer(); contents.append("d = new dTree('d');"); for (DTree tn : li) { contents.append("\n"); contents.append("d.add('"); contents.append(tn.getId()); contents.append("','"); contents.append(tn.getPid()); contents.append("','"); contents.append(tn.getName()); contents.append("','"); contents.append(tn.getUrl()); contents.append("','"); contents.append(tn.getTitle()); contents.append("','"); contents.append(tn.getTarget()); contents.append("','"); contents.append(tn.getIcon()); contents.append("','"); contents.append(tn.getIconOpen()); contents.append("','"); contents.append(tn.getOpen()); contents.append("');"); contents.append("\n"); } contents.append("document.write(d);"); return contents.toString(); } catch (SQLException e) { e.printStackTrace(); } return null; } }
|
index.jsp 数据显示页面,现在的页面就简洁多了!
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@page import="com.ant.dao.DBManager"%> <script type="text/javascript" src="script/dtree.js"></script> <link rel="StyleSheet" href="script/dtree.css" type="text/css" /> <script type="text/javascript"> <%=DBManager.getAll() %> </script>
|
至此 我们就完成了一个通用的导航树 以后只操作数据库就好了!
- 描述: 预览效果
- 大小: 22 KB
分享到:
相关推荐
在网页设计中,"div+css+js树形导航"是一种常见的交互式菜单设计方法,它结合了HTML的结构、CSS的样式以及JavaScript的动态功能,以创建出可展开和折叠的层次化导航菜单。这种导航模式对于组织大量链接和子菜单的...
总的来说,构建JavaScript树形菜单涉及的技术包括HTML结构设计、CSS样式控制、JavaScript DOM操作、事件处理、数据结构和算法(如遍历树形结构)、以及可能的异步加载和动画效果。通过这些技术的组合,我们可以创建...
ASP.NET 和 HTML 中的JavaScript树形菜单是一种交互式的网页元素,常用于展现层次结构的数据,如网站导航、文件目录或数据库记录。这类菜单通常由HTML、CSS和JavaScript组成,其中JavaScript负责动态展示和操作菜单...
本资源"jstree+JS树形菜单合集"聚焦于JavaScript实现的树形菜单,涵盖了多种应用场景和实现方式。 首先,我们来看"struts+hibernate树形菜单"。Struts是Java Web开发中的一个MVC框架,而Hibernate则是一个ORM(对象...
JavaScript树形菜单是一种在网页中展示层次结构数据的交互式组件。它们通常用于网站的导航、文件目录浏览或数据组织。在这个压缩包中,我们有几种不同的JavaScript树形菜单实现,包括`dtree`和`dhtmlxtree`,以及...
标题中的“DIV+CSS+JS树形菜单”指的是在网页设计中使用HTML的`<div>`元素、CSS样式以及JavaScript脚本来实现一种交互式的树状菜单。这种菜单通常用于网站的导航,允许用户通过展开和折叠节点来浏览多级结构的内容。...
树形菜单通常用于展示层级关系的数据,而这里的“非树形”的含义可能是指在没有明显层级结构的菜单中,通过某种方式模拟树形菜单的展开、收缩和点击行为。这种技术通常涉及到前端JavaScript或jQuery的交互设计,以及...
树形菜单是一种常见的网页导航结构,它通常以层级形式展示,用户可以通过展开和折叠来浏览和选择不同级别的内容。在CSS中实现这样的效果,我们需要掌握以下几个关键知识点: 1. **盒模型与布局**:理解CSS盒模型是...
ASP.NET经典树形菜单是一种常见的Web用户界面元素,用于展示层次结构的数据,如网站导航、组织结构或文件系统。在ASP.NET中实现这样的菜单通常涉及客户端脚本与服务器端代码的交互,以便动态构建和操作菜单。在这个...
在IT领域,树形菜单是一种常见的用户界面元素,它用于组织和展示层级关系的数据,比如文件系统、网站导航或组织结构。在这个“收集树形菜单显示集锦”中,我们将会探讨几种不同的树形菜单实现方式,包括xtree、tree...
【纯JS资源树】是一种基于JavaScript技术实现的交互式数据展示工具,主要用于构建层次结构清晰、操作便捷的树形界面。这种树结构常用于网站导航、文件目录展示、组织架构图等多种场景,允许用户进行添加、删除、修改...
其中的关键特色是“树形菜单”,这是一种常见的网页导航结构,能够清晰地展示层级关系,方便用户快速定位和访问不同的功能模块。 “后台模板”是指用于构建网站或内容管理系统(CMS)后端控制面板的预设计布局和...
在IT领域,尤其是在前端开发中,树形结构是一种常见的数据表示方式,用于展现层次关系的数据。在小程序开发中,自定义树结构组件是一项重要的技术任务,它能够帮助用户以直观的方式浏览和操作层级化信息。以下将详细...
本文介绍的是一种在Web开发中常见的功能——JS无限极树形菜单。无限级树形菜单能够以树状的形式展示多层嵌套的数据,广泛应用于网站的导航栏、资源管理、组织架构等场景中。在本示例中,所实现的树形菜单能够处理...
总结,MzTreeView是一款强大的JavaScript树形菜单组件,具备丰富的功能和良好的可扩展性。无论是新手还是经验丰富的开发者,都能借助其强大功能,快速实现具有交互性的树形菜单,提升网页应用的用户体验。在实际项目...
zTree是一款广泛应用于Web开发中的JavaScript树形插件,它的最新版本为3.518。作为一款轻量级、高性能的开源组件,zTree以其强大的功能和灵活的配置选项深受开发者喜爱。本文将深入解析zTree 3.518的官方源码,帮助...
在IT行业中,"树形下拉"是一种...通过阅读这篇博客,开发者不仅可以学习到树形下拉的实现,还能了解到前端开发中的一些通用技巧和最佳实践。如果你对这个话题感兴趣,建议查找并阅读原始博客,以便更深入地学习和理解。
这些资源对于学习和实现JavaScript树形控件非常有帮助,你可以根据具体需求选择适合的库或示例进行研究。在实际项目中,理解如何用JavaScript操作DOM、处理事件和异步请求是关键,同时,了解如何优化性能和提升用户...
本主题主要关注的是ExtJs 中的一个常见布局模式:左侧树形导航与中心Tab选项卡结合的后台通用界面布局。 首先,我们要理解ExtJs中的“布局”(Layouts)。布局是ExtJs组件管理其子组件的方式,决定了子组件如何在...