運行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();
}
}