運用dtree組件動態生成目錄樹

運行dTree JS組件生成

package com.songbx.common.tree;



public class TreeNode {

	private String id ;          //節點編號    

    private String pid ;         //父節點編號    

    private String name ;        //節點名稱    

    private String url ;         //鏈接地址    

    private String title ;       //節點描述    

    private String target ;      //Target    

    private String icon ;        //圖標路徑    

    private String iconOpen ;    //展開狀態下的圖標路徑    

    private String open ;        //是否展開

    public TreeNode(){    

        id = "" ;    

        pid = "" ;    

        name = "" ;    

        url = "" ;    

        title = "" ;    

        target = "" ;    

        icon = "" ;    

        iconOpen = "" ;    

        open = "" ;    

    }

	public String getIcon() {

		return icon;

	}

	public void setIcon(String icon) {

		this.icon = icon;

	}

	public String getIconOpen() {

		return iconOpen;

	}

	public void setIconOpen(String iconOpen) {

		this.iconOpen = iconOpen;

	}

	public String getId() {

		return id;

	}

	public void setId(String id) {

		this.id = id;

	}

	public String getName() {

		return name;

	}

	public void setName(String name) {

		this.name = name;

	}

	public String getOpen() {

		return open;

	}

	public void setOpen(String open) {

		this.open = open;

	}

	public String getPid() {

		return pid;

	}

	public void setPid(String pid) {

		this.pid = pid;

	}

	public String getTarget() {

		return target;

	}

	public void setTarget(String target) {

		this.target = target;

	}

	public String getTitle() {

		return title;

	}

	public void setTitle(String title) {

		this.title = title;

	}

	public String getUrl() {

		return url;

	}

	public void setUrl(String url) {

		this.url = url;

	} 

    

}

package com.songbx.common.tree;



import java.util.List;



import javax.servlet.http.HttpServletRequest;



import com.songbx.model.Module;



public class TreeNodeUtil {

	/**

	 * 生成module樹的節點

	 * @param request

	 * @param modules 用來生成樹的數據

	 * @return

	 */

	public static TreeNode[] createModuleTreeNodes(HttpServletRequest request,List<Module> modules){

		TreeNode[] treeNodes = null;

		if(null!=modules){

	    	treeNodes=new TreeNode[modules.size()];

	    }

	    Module module=null;

	    for(int i=0;i<modules.size();i++){

	    	module=modules.get(i);

	    	String id=module.getModuleId();

	    	treeNodes[i]=new TreeNode();

	    	treeNodes[i].setId(id);

	    	treeNodes[i].setName(module.getModuleName());

	    	if(null!=module.getParentModule()){

	    		treeNodes[i].setPid(module.getParentModule().getModuleId());

	    		if(null!=module.getModuleTarget()){

	    			String path=request.getContextPath();

	    			treeNodes[i].setUrl(path+"/"+module.getModuleTarget());

	    		}else{

	    			treeNodes[i].setUrl("");

	    		}

	    	}else{

	    		treeNodes[i].setPid("-1");

	    		treeNodes[i].setUrl("");

	    	}

	    	treeNodes[i].setTarget("default_content");//打開新窗口

	    	treeNodes[i].setTitle(module.getModuleName());  

	    }

	    return treeNodes;

	}

	/**

	 * 生成樹的JS腳本

	 * @param tn TreeNode[]樹的節點

	 * @param dtree 構建的樹

	 * @return

	 */

	public static String createJsArray(TreeNode[] tn , String dtree) {    

        if(tn == null || tn.length == 0 ){    

            System.out.println("TreeNode is empty");    

            return "";    

        }    

        StringBuffer contents = new StringBuffer(100);    

        contents.append("new dTree('"+dtree+"');");    

        for (int i = 0; i < tn.length; i++) {     

            contents.append("/n");    

            contents.append(dtree+".add('");    

            contents.append(tn[i].getId());    

            contents.append("','");    

            contents.append(tn[i].getPid());    

            contents.append("','");    

            contents.append(tn[i].getName());    

            contents.append("','");    

            contents.append(tn[i].getUrl());    

            contents.append("','");    

            contents.append(tn[i].getTitle());    

            contents.append("','");    

            contents.append(tn[i].getTarget());    

            contents.append("','");    

            contents.append(tn[i].getIcon());    

            contents.append("','");    

            contents.append(tn[i].getIconOpen());    

            contents.append("','");    

            contents.append(tn[i].getOpen());    

            contents.append("');");    

        }    

        

        contents=contents.deleteCharAt(contents.length()-1);

        contents.append("/n");

        return contents.toString();    

    } 

}
發佈了46 篇原創文章 · 獲贊 1 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章