论坛首页 入门技术论坛

树形目录的实现(同级目录还可排序)

浏览 2546 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-16   最后修改:2009-02-16
目录表结构(ORACLE)
create table CATALOG
(
  ID NUMBER(18) not null,
  PARENT_ID  NUMBER(18),
  NAME       VARCHAR2(30),
  ORDER  NUMBER(8) --用于排序的字段
)

DAO代码(ORACLE):
public static List<FqCatalog> findCats(Long id) {
		String sql = "select t.id, t.parent_id, SUBSTR(LPAD(' ', 2*level-1)||name,2) as name, t.order from catalog t" + 
			"	connect by prior t.id = t.parent_id" +
			"	start with t.id = ?" + 
			"	order siblings by t.order desc"; //关键是这句话
		Object[] args = new Object[]{id};
		List<FqCatalog> cats = jdbc.query(sql, args, new BeanPropertyRowMapper(Catalog.class));
		return cats;
	}

页面代码(freemarker)
<select>
	<#list cats as cat>
	<option>${cat.name?replace(" ","&nbsp;")}</option>
	</#list>
</select>

如果用oracle的话,可以很方便的实现树级目录.附件为页面效果图(firefox)
  • 大小: 6.1 KB
   发表时间:2009-02-16  
  1. 太牛了。lol:
0 请登录后投票
   发表时间:2009-02-16  
蛮基础的啊....
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics