在action中使用sql按目录的方式查询出部门记录,其中包括部门名称,部门ID,部门父ID。顶头的记录的部门父ID必须为-1,查询语句如:
select dept_id,dept_name,parent_id from info_dept connect by prior dept_id = parent_id start with dept_id=?
把获得的list记录set到request中,在页面中显示出来。
页面代码如下:
< link href ="<%=request.getContextPath()%>/gdnumweb/css/dtree.css" rel ="stylesheet" type ="text/css" >
< body >
< script type ="text/javascript" src ="<%=request.getContextPath()%>/gdnumweb/js/dtree.js" ></ script >
< div class ="dtree" >
< p >< a href ="javascript: tree.openAll();" > 展开所有 </ a > | < a href ="javascript: tree.closeAll();" > 关闭所有 </ a ></ p >
< script language ="javascript" type ="text/javascript" >
tree = new dTree('tree');
< logic:iterate id = " dept " name = " list " >
tree.add( " <bean:write name= " dept " property= " dept_id " /> " , " <bean:write name= " dept " property= " parent_id " /> " , " <bean:write name= " dept " property= " dept_name " /> " ,' <%= path %>/ gdnumUserDept. do ? method = getDeptUserInfo & deptNo =< bean:write name = " dept " property = " dept_id " /> ','','mainframe');
</ logic:iterate >
document.write(tree);
</ script >
在组合框中输出树形目录
获取列表的java方法
//提取当前用户的部门下拉
public List getSourceDept(String deptNo) {
List list = null;
Connection con = CommonUtils.currentSession().connection();
ResultSet rs = null;
ResultSetMetaData rsmd = null;
java.sql.PreparedStatement ps = null;
String sql = "select deptno,(tools.buildTree(level)||deptname) deptname from sys_dept "
+ "connect by parent_deptno=prior deptno "
+ "start with deptno=?";
HashMap map = null;
try {
ps = con.prepareStatement(sql);
ps.setString(1, deptNo);
rs = ps.executeQuery();
//System.out.println("rs.size:" + rs.getFetchSize());
rsmd = rs.getMetaData();
list = new ArrayList();
while (rs.next()) {
map = new HashMap();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
map.put(rsmd.getColumnName(i).toLowerCase(), rs.getString(i));
}
list.add(map);
}
rs.close();
}
catch (Exception ex) {
log.error("提取当前用户的部门下拉出错 com.unicom.gzmas.reports.bo.getSourceDept:" + ex);
}
finally {
CommonUtils.closeSession();
}
return list;
}
页面输出的代码
<select id="mbackdept"> <!-- 部门 -->
<option value="all">-----全部----</option>
<logic:iterate id="l" name="target">
<option value="<bean:write name="l" property="deptno"/>"><bean:write name="l" property="deptname"/></option>
</logic:iterate>
</select>
构造树的存储过程
/*构造树*/
Function Buildtree(In_Level In Number) Return Varchar2 As
Result Varchar2(4000);
Begin
If In_Level = 1 Then
Return Null;
End If;
Return '|' || Incstring('-', (In_Level - 1) * 2);
End;
分享到:
相关推荐
这些数据可以通过数据库或者Excel表格等形式存储,并通过编程语言如Python、Java、JavaScript等进行处理,生成目录树的数据结构。 2. **用户界面展示**:为了便于用户交互,"dtree"通常会结合前端技术实现可视化...
本篇文章将深入探讨如何利用`dTree`来生成动态的树形菜单,并结合后台Action中的List数据进行操作。 首先,我们需要理解`dTree`的基本概念。`dTree`是一个基于JavaScript的开源库,它提供了一种简单的方式来创建...
【DTree目录树下载】是针对前端开发人员的一款强大且美观的树形JavaScript代码库,主要用在构建具有层级结构的目录展示。DTree以其高效的功能和优雅的样式设计,深受开发者喜爱,常用于网站导航、文件管理器、组织...
在IT行业中,动态生成树(dtree)是一种常见的数据可视化技术,主要用于展示层次结构的数据,例如文件系统、组织架构或决策树等。JQuery是一个广泛使用的JavaScript库,它提供了丰富的功能来增强网页交互性。dtree是...
【dtree+jquery动态生成树】是一个用于创建交互式树形结构的JavaScript库,结合了jQuery框架的强大功能,使得在网页上动态展示层次结构数据变得简单。本实例着重于实现菜单树的生成,这对于构建多级导航系统尤其有用...
总结来说,"Dtree目录树"是一个用于生成和操作目录树的框架,结合"jquery-treeview"插件,可以在Web环境中提供强大的目录视图和交互功能。理解和掌握这些技术,可以帮助开发者更高效地管理和展示文件系统结构,提升...
### jsp-dtree-目录树解决树形结构问题 #### 概述 JSP-dtree是一种基于JavaServer Pages (JSP)技术实现的目录树组件,用于解决网站或应用程序中的树形结构展示问题。该组件不仅可以帮助开发者快速构建出美观且功能...
以上就是关于"java动态生成目录树"这一主题的主要知识点,包括Dtree库的使用、Ajax请求与响应、JSON和XML数据格式,以及JSP页面的动态内容生成。通过熟练掌握这些技术,可以有效地在Web应用中构建交互式的目录树视图...
"dtree选择部门或者选择部门下人员复选框单选框插件带搜索"是一种专为此类需求设计的解决方案。dtree插件能够帮助开发者构建交互性强、用户体验良好的选择界面,同时具备搜索功能,提高用户的操作效率。 首先,我们...
使用纯java代码遍历文件夹,生成一个文件夹目录结构的目录树。 及返回一个包含有 id(文件夹id) fid(当前文件夹父目录文件夹id) name...可根据这个结果传到前台,通过jquery.ztree 或是dtree 直接生成文件夹结构的目录树
function dTree(objName) { this.config = { target : null, folderLinks : true, useSelection : true, useCookies : true, useLines : true, useIcons : true, ...
在IT领域,动态生成树节点是一项常见的需求,特别是在构建用户...动态生成树.rar"可能是实际的代码示例,"dtree参数说明..rar"则可能包含了DTree各种参数的详细解释,这些资源对于理解和应用DTree都是非常有价值的。
1. **递归**:由于目录树的层级是无限的,所以通常会用到递归函数来生成每个节点及其子节点。递归允许函数调用自身,每次调用处理一个子节点,直到达到某个终止条件。 2. **DOM操作**:JavaScript需要与HTML DOM...
【dtree实现的树支持多选】是一种在网页交互中常用的数据展示和操作方式,尤其在数据层级结构复杂时,如文件系统、组织结构或菜单导航等场景。DTree(通常指的是JavaScript实现的树形控件)允许用户通过勾选节点来...
首先,dtree是一个JavaScript库,专门用于在网页上生成交互式的树形菜单。它提供了一种简单的方法,用HTML和CSS构建树结构,并通过JavaScript实现节点的展开、折叠、选择等动态效果。dtree的使用通常包括以下步骤:1...
DTree是一款优秀的JavaScript控件,专为生成动态、交互式的树形菜单而设计。它的主要优势在于其轻量级、易于使用和高度可定制性,使得开发者可以轻松地在网页中实现复杂的树状布局。 **DTree核心特性:** 1. **...
`dtree` 是一个轻量级的JavaScript库,专门用于在网页上创建交互式的树形目录。这个库以其简单易用和高度自定义的特点受到开发者们的欢迎。 首先,我们来详细了解一下`dtree`的核心功能和特点: 1. **快速搭建**:...
`dtree` 是一个流行的前端插件,常用于生成树形结构的菜单,适用于后台管理界面。本篇文章将详细探讨如何利用 `dtree` 生成后台管理菜单模板,并结合 JavaScript 和 HTML 技术实现纯前端的解决方案。 首先,我们...
`dtree.js` 是一个专门用于在JavaScript环境中创建和管理树形数据结构的库。它提供了丰富的功能,使开发者能够方便地在Web页面上展示层次化的数据,常用于构建导航菜单、组织结构图或者文件系统目录等场景。`dtree....