运用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();    

    } 

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值