📄 orgtreeoutput.java
字号:
package com.hongsoft.res.util;
import java.util.List;
import com.hongsoft.res.formbean.OrgTreeFormBean;
/**
* <p>Title: 将OrgTreeFormBean转换为tree的HTMLE字符专用类</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author zgk
* @version 1.0
*/
public class OrgTreeOutput {
public static void main(String[] args) {
}
private static String IMG_SRC_LINKEDCLOSE = "<IMG SRC='/agile/images/linkedClose.gif' name=\"imEx\" BORDER=0>";
private static String IMG_SRC_BLANK = "<IMG SRC='/agile/images/blank.gif' BORDER=0>\n";
private static String IMG_SRC_PAGE = "<IMG SRC='/agile/images/page.gif' name=\"imEx\" BORDER=0>";
private static String BASE_URL = "/agile/res/orgBean.jsp?cmdName=orgCmd&cmdType=load&returnView=facade&orgID=";
/**
* 功能:将orgTreeFormBean转换为树形的HTML字符串,前<br>
* 参数:<br>
* 作者:庄国坤<br>
* 时间:2003-11-12 16:36:31<br>
* 测试:<br>
*/
public static String getAllTreeHtml(OrgTreeFormBean orgTreeFormBean) throws Exception {
StringBuffer retSB = new StringBuffer();
retSB.append("<div id='").append(orgTreeFormBean.getOrgID()).append(
"Parent' class='parent'>\n");
retSB.append("<a href=\"#\" onClick=\"expandIt('K").append(getNextNodeOrgID(orgTreeFormBean)).append(
"'); return false\">").append(IMG_SRC_LINKEDCLOSE).append("</a>\n");
retSB
.append("<a href='").append(BASE_URL)
.append(orgTreeFormBean.getOrgID())
.append("' target='mainFrame'>")
.append(orgTreeFormBean.getName())
.append("</a> <br>\n"); //从此处开始计算DIV,递归是从DIV开始的
//层次结构是与IMG来区分的
retSB = getTreeHtml(orgTreeFormBean, retSB, new String());
retSB.append("</div>");
return retSB.toString();
}
/**
* 功能:递归将orgTreeFormBean子节点信息转换为树形的HTML字符串<br>
* 参数:<br>
* 作者:庄国坤<br>
* 时间:2003-11-12 16:35:28<br>
* 测试:<br>
*/
private static StringBuffer getTreeHtml(OrgTreeFormBean orgTreeFormBean, StringBuffer retSB, String imgSB) throws
Exception {
String childID = getNextNodeOrgID(orgTreeFormBean);
if (childID.equals("-1")) { //没有子节点
return retSB;
}
retSB.append("<div id='K")
.append(childID)
.append("Child' class='child'>\n");
imgSB = imgSB + IMG_SRC_BLANK;
List listChildReen = orgTreeFormBean.getChildrenTree();
String parentID = String.valueOf(orgTreeFormBean.getOrgID()); //父节点ID
for (int i = 0; i < listChildReen.size(); i++) {
OrgTreeFormBean childOrgTreeFormBean = (OrgTreeFormBean) listChildReen.get(i);
retSB.append(imgSB);
childID = getNextNodeOrgID(childOrgTreeFormBean);
if (!childID.equals("-1")) { //探测是否有子节点
retSB.append("<a href=\"#\" onClick=\"expandIt('K")
.append(childID)
.append("'); return false\">").append(IMG_SRC_LINKEDCLOSE).append("</a>\n");
retSB.append("<a href='").append(BASE_URL)
.append(childOrgTreeFormBean.getOrgID()).append("&parentID=").append(parentID)
.append("' target='mainFrame' >");
} else {
retSB.append("<a href='").append(BASE_URL)
.append(childOrgTreeFormBean.getOrgID()).append("&parentID=").append(parentID)
.append("' target='mainFrame' >").append(IMG_SRC_PAGE);
}
retSB.append(childOrgTreeFormBean.getName())
.append("</a><br>\n");
retSB = getTreeHtml(childOrgTreeFormBean, retSB, imgSB); //开始递归
}
retSB.append("</div>\n");
return retSB;
}
/**
* 功能:返回当前节点的第一个子节点的ORGID,如果没有子节点,则返回-1,调用者根据此来判断是否有子节点<br>
* 参数:orgTreeFormBean:OrgTreeFormBean,当前节点<br>
* 作者:庄国坤<br>
* 时间:2003-11-12 11:38:45<br>
* 测试:<br>
*/
private static String getNextNodeOrgID(OrgTreeFormBean orgTreeFormBean) throws Exception {
List listChild = orgTreeFormBean.getChildrenTree();
if (listChild == null || listChild.size() == 0) {
return "-1"; //调用者根据是否为-1来判断是否存在子节点
}
OrgTreeFormBean childOrgTreeFormBean = (OrgTreeFormBean) listChild.get(0);
return String.valueOf(childOrgTreeFormBean.getOrgID());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -