📄 treetag.java
字号:
/*
* Created on 2004-4-5
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.esimple.framework.web.taglib.rich;
import java.io.*;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.*;
import org.apache.struts.util.*;
/**
*
*/
public class TreeTag extends TagSupport {
private String name;
private String scope;
private int serialID;
public int doStartTag() throws JspException {
TreeModel treemodel =
(TreeModel) RequestUtils.lookup(pageContext, name, scope);
if (treemodel == null) {
return (SKIP_BODY);
}
String output = generateTree(treemodel);
try {
JspWriter jspWriterOutput = pageContext.getOut();
jspWriterOutput.println(output);
} catch (IOException ioe) {
}
return (SKIP_BODY);
}
/**
*
* @param treemodel
* @param buffer
* @return
*/
public String generateTree(TreeModel treemodel) {
StringBuffer buffer = new StringBuffer();
this.serialID = 0;
buffer
.append("<script>")
.append("var Lable = '" + treemodel.getLabel() + "';")
.append("var Tree = new Array(");
buffer.append(generateTreeArray(treemodel, -1));
buffer
.append("'end');")
.append(
"createTree(Tree,0,'0',Lable,'"
+ treemodel.getAction()
+ "','"
+ treemodel.getTarget()
+ "');")
.append("</script>");
return buffer.toString();
}
/**
*
* @param treemodel
* @param parentID
* @return
*/
public String generateTreeArray(TreeModel treemodel, int parentID) {
StringBuffer buffer = new StringBuffer();
if (treemodel.isLeaf()
|| treemodel.getTreeModels() == null
|| treemodel.getTreeModels().size() == 0) {
buffer.append(
"'"
+ this.serialID
+ "|"
+ parentID
+ "|"
+ treemodel.getLabel()
+ "|"
+ treemodel.getAction()
+ "|"
+ treemodel.getTarget()
+ "',");
serialID++;
} else {
buffer.append(
"'"
+ this.serialID
+ "|"
+ parentID
+ "|"
+ treemodel.getLabel()
+ "|"
+ treemodel.getAction()
+ "|"
+ treemodel.getTarget()
+ "',");
parentID = serialID;
serialID++;
for (int i = 0; i < treemodel.getTreeModels().size(); i++) {
buffer.append(
generateTreeArray(treemodel.getTreeModel(i), parentID));
}
}
return buffer.toString();
}
/**
* @return
*/
public String getName() {
return name;
}
/**
* @return
*/
public String getScope() {
return scope;
}
/**
* @param string
*/
public void setName(String string) {
name = string;
}
/**
* @param string
*/
public void setScope(String string) {
scope = string;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -