📄 basetreembean.java
字号:
package gov.gdlt.ssgly.taxweb.comm.util;
import gov.gdlt.ssgly.taxweb.comm.mbean.*;
import java.text.MessageFormat;
import java.util.Vector;
import gov.gdlt.ssgly.taxweb.mbean.qxgl.TreeNodeObject;
import gov.gdlt.ssgly.taxweb.mbean.qxgl.NodeValueObject;
import java.util.ArrayList;
public class BaseTreeMBean extends BaseManagedBean {
protected ArrayList treeDataList;
public BaseTreeMBean() {
}
/* 递归输出生成客户端树控件的javascript代码 */
protected void buildTreeScript(TreeNodeObject treeNode, StringBuffer sb,
String rootTreeNodeFormat,
String otherTreeNodeFormat) {
NodeValueObject nodeValue = null;
TreeNodeObject nodeObject = null;
Object[] arg = new Object[4];
nodeValue = treeNode.getThisNode();
// 根节点
if ("0".equals(nodeValue.getParentId())) {
arg[0] = nodeValue.getId();
arg[1] = nodeValue.getName();
arg[2] = nodeValue.getParentId();
arg[3] = nodeValue.getUrlPath();
sb.append(MessageFormat.format(rootTreeNodeFormat, arg));
}
// 输出该节点的所有子节点代码
Vector v = treeNode.getChildNodes();
// 该节点无子节点
if (v == null) {
return;
}
for (int i = 0; i < v.size(); i++) {
nodeObject = (TreeNodeObject) v.get(i);
nodeValue = nodeObject.getThisNode();
arg[0] = nodeValue.getId();
arg[1] = nodeValue.getName();
arg[2] = nodeValue.getParentId();
arg[3] = nodeValue.getUrlPath();
sb.append(MessageFormat.format(otherTreeNodeFormat, arg));
buildTreeScript(nodeObject, sb, rootTreeNodeFormat,
otherTreeNodeFormat);
}
}
/* 递归输出生成客户端树控件的javascript代码,只在叶节点显示可选框。 */
protected void buildTreeScriptWithLeafNodeEditable(TreeNodeObject treeNode,
StringBuffer sb,
String rootTreeNodeFormat,
String otherTreeNodeFormat,
String leafTreeNodeFormat) {
NodeValueObject nodeValue = null;
TreeNodeObject nodeObject = null;
Object[] arg = new Object[4];
Vector childVector = null;
nodeValue = treeNode.getThisNode();
// 根节点
if ("0".equals(nodeValue.getParentId())) {
arg[0] = nodeValue.getId();
arg[1] = nodeValue.getName();
arg[2] = nodeValue.getParentId();
arg[3] = nodeValue.getUrlPath();
sb.append(MessageFormat.format(rootTreeNodeFormat, arg));
}
// 输出该节点的所有子节点代码
Vector v = treeNode.getChildNodes();
// 该节点无子节点
if (v == null) {
return;
}
for (int i = 0; i < v.size(); i++) {
nodeObject = (TreeNodeObject) v.get(i);
nodeValue = nodeObject.getThisNode();
arg[0] = nodeValue.getId();
arg[1] = nodeValue.getName();
arg[2] = nodeValue.getParentId();
arg[3] = nodeValue.getUrlPath();
// 如果是叶节点,就输出叶节点的script代码
childVector = nodeObject.getChildNodes();
if (childVector == null || childVector.size() == 0) {
sb.append(MessageFormat.format(leafTreeNodeFormat, arg));
} else {
sb.append(MessageFormat.format(otherTreeNodeFormat, arg));
}
buildTreeScriptWithLeafNodeEditable(nodeObject, sb, rootTreeNodeFormat,
otherTreeNodeFormat, leafTreeNodeFormat);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -