部门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的树形目录。
转载于:https://blog.51cto.com/fly2017/1707532