/***
* 根据父节点目录获取所有子节点目录信息
* @param parentId
* @return
*/
public List getCatalog( int parentId){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
List list=new ArrayList();
try
{
conn = DBUtil.getConnection();
stmt = conn.createStatement();
String queryStr1 = "SELECT ID,CATALOGNAME,PARENTID,level FROM TM_BOOKCATALOG_TAB START WITH PARENTID = "+parentId+" CONNECT BY PRIOR ID IN PARENTID";
// System.out.println("------------------执行"+queryStr1);
rs = stmt.executeQuery(queryStr1);
while (rs.next())
{
Bookcatalog bc = new Bookcatalog();
bc.setId(Integer.parseInt(rs.getString("ID")));
bc.setCatalogname(rs.getString("CATALOGNAME"));
bc.setParentid(Integer.parseInt(rs.getString("PARENTID")));
bc.setLevel(Integer.parseInt(rs.getString("level")));
// System.out.println("------------------结果"+bc.getCatalogname());
list.add(bc);
}
/// System.out.println("------------------执行");
}
catch (SQLException se)
{
se.printStackTrace();
throw new BookCatalogDAOSysException("树形查询出错");
}
finally
{
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
}
return list;
}
int level= ( (Bookcatalog)allCataLog.get(i)).getLevel();
以下是循环中打印的树形目录
<!-- 目录 -->
<%
if (level==1)
{
%><img src="images/images/bg_1.gif" border=0/><%
}else
{
%><img src="images/images/bg_3.gif" border=0/><%
}
for (int j=0;j<level-1;j++)
{
%><img src="images/images/bg_31.gif" border=0/><%
}
%>
<%
if (level>1)
{
%><img src="images/images/bg_2.gif" border=0/><%
}
%>
<%=( (Bookcatalog)allCataLog.get(i)).getCatalogname() %>