部門bean主要代碼
private String deptname;//部門名稱 private String deptcode;//部門編碼 private String fdeptcode;//上級部門編碼 private String isleaf;//是否爲葉子部門 private List<Dep> children;//子部門集合 private String id;//部門id //設置如何獲取子部門 public void setChildren(String fdeptcode) { if(isleaf.equals("1")){ }else{ List<Dep> listDep=new ArrayList<Dep>(); DbConn db=new DbConn(); ResultSet rst=null; String sql1="select deptcode from comdept where fdeptcode='"+fdeptcode+"'"; try { rst=db.executeQuery(sql1); while(rst.next()){ String depcode=rst.getString("deptcode"); //調用構造方法如果dep還有子部門也會放到dep下 Dep dep=new Dep(depcode); listDep.add(dep); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } this.children = listDep; } } //構造方法 public Dep(String deptcode){ this.deptcode=deptcode; setAll(deptcode); setChildren(deptcode); }
向xml寫樹形目錄代碼
public class WriteToXml { static List<Dep> listdep=new Dep("0000"); //0000爲部門根 Element root=DocumentHelper.createElement("Dep"); Document doc=DocumentHelper.createDocument(); public void Write(List<Dep> listdep,Element element){ for(Dep dep:listdep){ //添加節點名字爲部門名字 Element menuElement = element.addElement(dep.getDeptname()); //向節點添加屬性deptcode,value爲部門id Attribute att=DocumentHelper.createAttribute(menuElement, "deptcode",dep.getDeptcode()); menuElement.add(att); if(dep.getChildren()!=null&&dep.getChildren().size()>0){ Write(dep.getChildren(),menuElement); } } } public void WriteAll(String path){ //全部節點寫到root節點 Write(listdep,root); try{ XMLWriter xmlwriter=new XMLWriter(new FileWriter(new File(path))); doc.add(root); xmlwriter.write(doc); xmlwriter.close(); }catch(IOException e){ e.printStackTrace(); } } public static void main(String[] args) { WriteToXml t=new WriteToXml(); t.WriteAll("E://test.xml"); } }
好不容易終於大概知道xml是怎麼寫的了...下一步再把xml形成html的樹形目錄。