⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treetag.java

📁 这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用struts,hebinate,xml等技术,有丰富的tag,role,navigation,session,dictio
💻 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 + -