"id"     "name" "parentid""classid"
1 "福建省" "12" 3
2 "湖北省" "12" 3
3 "辽宁省" "12" 3
4 "武汉市" "2" 4
5 "荆州市" "2" 4
6 "宜昌市" "2" 4
7 "沈阳市" "3" 4
8 "大连" "3" 4
9 "盘锦市" "3" 4
10 "亚洲" "0" 1
11 "欧洲" "0" 1
12 "中国" "10" 2
13 "法国" "11" 2
14 "韩国" "10" 0
15 "汉城" "14" 0
16 "汉城区" "15" 0
17 "巴黎" "13" 0
18 "巴黎区" "17" 0
19 "福州" "1" 0
20 "德国" "11" 0
21 "柏林" "20" 0
22 "柏林区" "21" 0
23 "开发区" "8" 0数据库里的数据如上..
我搜索了一下以前的文章..好像有两三种方法实现无限分类
1,递归函数的方法.
2,中值排序
3,xml
代码大多数都是asp和php的...很少有jsp的...
所以我想写一个jsp的..无奈在排序问题上卡住了...
我的思路是按照第一种来的..
首先从数据库里读出所有的数据.保存在一个对象数组里.
之后想对这个对象数组进行排序..
新对象数组里的对象是按照
10 "亚洲" "0" 1
12 "中国" "10" 2
3 "辽宁省" "12" 3
8 "大连" "3" 4
......
这样的排序
最好能输出到一个jsp页面,的一个option选项框里..
亚洲
    中国
        辽宁省
             大连市
    韩国
欧洲
排序的时候..我只知道利用递归.
是一个二叉树的建立过程,之后按照前序输出就能完成排序..
在这之前我可是把8-9个java/jsp论坛都search一遍.均无结果...
小弟不是不愿意思考偷懒..而是代码水平真的没有那么高..T_T
还请各位高手多多帮忙.....
PS:另外XML可能实现无限分类的吗?如何实现呢?以下是我写的部分代码片断:
public class TypeDAO
{ public Type[] loadType() throws SQLException
{
ArrayList al = new ArrayList();
DataBaseBean db = DataBaseBean.getInstance();
db.prepareStatement("select * from `type`");
ResultSet rs = db.executeQuery();
while(rs.next())
{
Type type = new Type();
type.setId(rs.getInt("id"));
type.setName(rs.getString("name"));
type.setParentid(rs.getInt("parentid"));
al.add(type);

}
db.close();
Type[] type = new Type[al.size()];
al.toArray(type);
return type;
}



public void getchile(int pid) throws SQLException
{
Type[] type =loadType();
for(int i=0;i<type.length;i++)
{
if(type[i].getParentid()==pid)
getchile(type[i].getId());

else 
........
}


}
}

解决方案 »

  1.   

    http://support.microsoft.com/kb/246230
      

  2.   

    楼上的给出的是c++的xmltree....
    暂时用不到...
    自己顶一下吧..
      

  3.   

    每一个带有独立参数的节点对应一个onclick事件
      

  4.   

    每一个带有独立参数的节点对应一个onclick事件
    恩?我想要的只是在jsp页面里的option选项框显示...
      

  5.   

    to: wumingwangzi(将java进行到底) 
    只是拿地名做一个例子...
    实际还是需要的..
      

  6.   


    xml当然可以了,非常简单,参考文件夹河文件的关系就可以了。比如:
    <?xml version="1.0" encoding="UTF-8"?>
    <dir name="root">.
    <dir name="dir1层">
    <file name="2层file"/>
    <dir name="dir3层">
    <dir name="dir4层">
    <file name="5层file"/>
    <dir name="dir5层">
    <file name="6层file"/>
    <!-- 无限层次 -->
    </dir>
    <file name="3层file"/>
    </dir>
    <file name="4层file1"/>
    <file name="4层file2"/>
    </dir>
    <file name="3层file"/>
    </dir>
    <file name="1层file"/>
    </dir>
      

  7.   

    TO:pigo(不成功,便成练习) 
    最后还是否需要将这个关系持久化到数据库里呢?
    还是在数据库里不用任何表示..直接对分类的操作直接增删改查这个xml文件呢?
    能否给点教程一类的?
      

  8.   

    TO:kxw9c(kxw9c) 
    那样的话..好像还是有一定的局限性呢...
    如果是很多很多分类呢..
    名字那个字段的长度?