亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tabletag.java

?? 用javascript寫的樹型復選框自定義標簽
?? JAVA
字號:
package com.ly.tag;

import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Vector;

import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;

import org.apache.commons.collections.IteratorUtils;

public class TableTag implements Tag {
	
	/**
	 * 標簽的頁面上下文
	 */
	private PageContext pageContext;

	/**
	 * 上一級標簽
	 *
	 */
	private Tag parent;

	/**
	 * 包含目標元素的集合
	 */
	private String collection = null;

	/**
	 * 指定collection及bean的查找范圍,其值是形如request:page,
	 * 以":"分隔前者指明collection范圍,后者指明bean范圍
	 */
	private String scope = null;

	/**
	 * 選擇框名稱
	 */
	private String checkname = null;

	/**
	 * 根目錄名稱
	 */
	private String rootname = null;
	/**
	 * 已經選擇的節點,屬性名稱
	 *
	 */
	private String selectedName = null;
	public String getSelectedName() {
		return selectedName;
	}
	public void setSelectedName(String selectedName) {
		this.selectedName = selectedName;
	}
	/**
	 * 是否需要鏈接
	 */
	private String isaction = null;
	public String getIsaction() {
		return isaction;
	}
	public void setIsaction(String isaction) {
		this.isaction = isaction;
	}
	/**
	 * 開始節點
	 */
	private String startnode = null;
	/**
	 * 是否只讀
	 */
	private String readonly = null;
	private String tableclass = null;
	private String style = null;
	private String id = null;
	private String border = null;
	private String width = null;
	private String height = null;
	private String cellspacing = null;
	private String cellpadding = null;
	private String align = null;
	private String valign = null;
	private String background = null;
	private String bgcolor = null;	
	private String bordercolor = null;
	public String getBordercolor() {
		return bordercolor;
	}
	public void setBordercolor(String bordercolor) {
		this.bordercolor = bordercolor;
	}
	public TableTag(){
		super();
	}
	/**
	 * 調用doStartTag方法,這個方法可以返回EVAL_BODY_INCLUDE和SKIP_BODY,當返回EVAL_BODY_INCLUDE時
	 * ,就計算標簽的body,如果返回SKIP_BODY,就不再計算標簽的body.
	 */
	public int doStartTag() throws JspException {
		return SKIP_BODY;
	}
	/**
	 * 調用doEndTag方法,這個方法可以返回EVAL_PAGE或者SKIP_PAGE,當返回EVAL_PAGE時,容器將在標簽結
     * 束時繼續計算JSP頁面其他的部分;如果返回SKIP_PAGE,容器將在標簽結束時停止計算JSP頁面其他的部分.
	 */
	public int doEndTag() throws JspTagException {
		try {
			ServletRequest request = pageContext.getRequest();
			String serverpath = ((HttpServletRequest)request).getContextPath();
			//設置已選擇復選框,selectedName形式:(101,201,301)
			String selects = "";
			if(selectedName != null){
				selects = (String)request.getAttribute(selectedName);
				request.setAttribute(selectedName,null);
			}
			//獲得集合
			Collection coll = (Collection)request.getAttribute(collection);			
			if (coll == null)
				return (EVAL_PAGE);

			JspWriter out = pageContext.getOut();
			StringBuffer outStringBuffer = new StringBuffer();
			int counts = 0;
			outStringBuffer.append("<script type=\"text/javascript\">\n\r");
			outStringBuffer.append("<!--\n\r");
			outStringBuffer.append("var Tree = new Array;\n\r");
			Iterator iterator = coll.iterator();
			while (iterator.hasNext()) {
				Object subObj = iterator.next();
				Iterator subVo = null;
				if (subObj.getClass().isArray())
					try {
						iterator = Arrays.asList((Object[]) subObj).iterator();
					} catch (ClassCastException e) {
						int length = Array.getLength(subObj);
						ArrayList c = new ArrayList(length);
						for (int i = 0; i < length; i++)
							c.add(Array.get(subObj, i));
						iterator = c.iterator();
					}
				else if (subObj instanceof Collection)
					subVo = ((Collection) subObj).iterator();
				else if (subObj instanceof Iterator)
					subVo = (Iterator) subObj;
				else if (subObj instanceof Map)
					subVo = ((Map) subObj).values().iterator();
				else {
					JspException e = new JspException(
							"fatal collection iterate.iterator");
					RequestUtils.saveException(pageContext, e);
					throw e;
				}
				String substr = "";
				while (subVo.hasNext()) {
					if ("".equals(substr)) {
						substr = (String) subVo.next();
					} else {
						substr = substr + "|" + subVo.next();
					}
				}
				outStringBuffer.append("Tree[");
				outStringBuffer.append(String.valueOf(counts));
				outStringBuffer.append("] = \"");
				outStringBuffer.append(substr);
				outStringBuffer.append("\";\n\r");
				counts++;
			}
			outStringBuffer.append("//--></script>\n\r");
			
			outStringBuffer.append("<div id=\"tree\" style=\"overflow-y: scroll;");
			String styleStr = "";
			if(height != null)
				styleStr = styleStr + "height:"+height+";";
			if(width != null)
				styleStr = styleStr + "width:"+width+";";
			if(border != null)
				styleStr = styleStr + "border-style:solid ;border-width:"+border+";";
			if(bordercolor != null){
				styleStr = styleStr + "border-color:"+bordercolor+";";
			}
			if(background != null)
				styleStr = styleStr + "background:"+background+";";
			if(bgcolor != null) 
				styleStr = styleStr + "background-color:"+bgcolor+";";
			styleStr = styleStr.substring(0,styleStr.length()-1);
			outStringBuffer.append(styleStr);
			outStringBuffer.append("\">\n\r");
			outStringBuffer.append("<script type=\"text/javascript\">\n\r");
			outStringBuffer.append("<!--\r\n");
			//createTree參數:Tree數組;開始節點,打開節點;已選擇節點字符串(如:1,201);提交屬性名;
			//根節點名稱
			outStringBuffer.append("createTree(Tree,");
			//開始節點
			outStringBuffer.append("\""+startnode+"\",");
			outStringBuffer.append("\"0\",");
			//已選擇節點字符串(如:1,201)
			outStringBuffer.append("\""+selects+"\",");
			outStringBuffer.append("\""+checkname+"\",");
			outStringBuffer.append("\""+rootname+"\",");
			outStringBuffer.append("\""+serverpath+"\",");
			outStringBuffer.append("\""+isaction+"\",");
			//添加TABLE樣式
			String tableCss = "";
			if(tableclass != null) tableCss = tableCss+"tableclass:"+tableclass+",";
			if(style != null) tableCss = tableCss+"style:"+style+",";
			if(id != null) tableCss = tableCss+"id:"+id+",";
			
			if(width != null) tableCss = tableCss+"width:"+width+",";
			if(cellspacing != null) tableCss = tableCss+"cellspacing:"+cellspacing+",";
			if(cellpadding != null) tableCss = tableCss+"cellpadding:"+cellpadding+",";
			if(align != null) tableCss = tableCss+"align:"+align+",";
			if(valign != null) tableCss = tableCss+"valign:"+valign+",";
			tableCss = tableCss.substring(0,tableCss.length()-1);
			//System.out.println("tableCss:::"+tableCss);
			outStringBuffer.append("\""+tableCss+"\",");
			outStringBuffer.append("\""+readonly+"\"");
			outStringBuffer.append(");\n\r");
			outStringBuffer.append("//-->\r\n");
			outStringBuffer.append("</script>\n\r");
			outStringBuffer.append("</div>\n\r");
	        out.write(outStringBuffer.toString());
		} catch (IOException e) {
			throw new JspTagException("IO Error:" + e.getMessage());
		} catch (JspException e) {
			throw new JspTagException("Jsp Error:" + e.getMessage());
		}
		return EVAL_PAGE;
	}
	/**
	 * 調用release()方法釋放標簽程序占用的任何資源。
	 */
	public void release() {
		this.collection = null;
		this.pageContext = null;
		this.parent = null;
		this.scope = null;
		this.checkname = null;
	}
	/**
	 * 當容器創建一個新的標簽實例后,通過setPageContext來設置標簽的頁面上下文.
	 */
	public void setPageContext(final PageContext pageContext) {
		this.pageContext = pageContext;
	}

	/**
	 * 使用setParent方法設置這個標簽的上一級標簽,如果沒有上一級嵌套,設置為null.
	 */
	public void setParent(final Tag parent) {
		this.parent = parent;
	}

	public Tag getParent() {
		return this.parent;
	}

	public String getCollection() {
		return collection;
	}

	public void setCollection(String collection) {
		this.collection = collection;
	}

	public String getScope() {
		return scope;
	}

	public void setScope(String scope) {
		this.scope = scope;
	}

	public PageContext getPageContext() {
		return pageContext;
	}
	public String getCheckname() {
		return checkname;
	}

	public void setCheckname(String checkname) {
		this.checkname = checkname;
	}

	public String getRootname() {
		return rootname;
	}

	public void setRootname(String rootname) {
		this.rootname = rootname;
	}
	public String getAlign() {
		return align;
	}
	public void setAlign(String align) {
		this.align = align;
	}
	public String getBackground() {
		return background;
	}
	public void setBackground(String background) {
		this.background = background;
	}
	public String getBgcolor() {
		return bgcolor;
	}
	public void setBgcolor(String bgcolor) {
		this.bgcolor = bgcolor;
	}
	public String getBorder() {
		return border;
	}
	public void setBorder(String border) {
		this.border = border;
	}
	public String getCellpadding() {
		return cellpadding;
	}
	public void setCellpadding(String cellpadding) {
		this.cellpadding = cellpadding;
	}
	public String getCellspacing() {
		return cellspacing;
	}
	public void setCellspacing(String cellspacing) {
		this.cellspacing = cellspacing;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getStyle() {
		return style;
	}
	public void setStyle(String style) {
		this.style = style;
	}
	public String getTableclass() {
		return tableclass;
	}
	public void setTableclass(String tableclass) {
		this.tableclass = tableclass;
	}
	public String getValign() {
		return valign;
	}
	public void setValign(String valign) {
		this.valign = valign;
	}
	public String getWidth() {
		return width;
	}
	public void setWidth(String width) {
		this.width = width;
	}
	public String getStartnode() {
		return startnode;
	}
	public void setStartnode(String startnode) {
		this.startnode = startnode;
	}
	public String getHeight() {
		return height;
	}
	public void setHeight(String height) {
		this.height = height;
	}
	public String getReadonly() {
		return readonly;
	}
	public void setReadonly(String readonly) {
		this.readonly = readonly;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线不卡| 日本不卡高清视频| 久久久综合视频| 日韩欧美资源站| 91精品在线一区二区| 欧美日韩1区2区| 777久久久精品| 欧美一区二区精品在线| 日韩一级片网址| 精品国产成人系列| 久久九九久精品国产免费直播| 精品蜜桃在线看| 中文字幕欧美区| 国产精品麻豆视频| 亚洲欧美福利一区二区| 一区二区三区丝袜| 日韩av成人高清| 国产一区二区在线影院| 国产做a爰片久久毛片| 国产成人av一区| 99久久99久久久精品齐齐| 99精品视频在线免费观看| 91视频com| 欧美二区三区91| 精品日本一线二线三线不卡| 欧美国产日韩在线观看| 最新欧美精品一区二区三区| 亚洲综合在线观看视频| 欧美aaaaa成人免费观看视频| 国产一区二区看久久| 91亚洲精品久久久蜜桃网站| 欧美伦理电影网| 国产亚洲污的网站| 亚洲综合丝袜美腿| 国产精品一区在线观看你懂的| 成人激情午夜影院| 91麻豆精品91久久久久同性| 中文字幕不卡在线观看| 亚洲6080在线| 成人精品视频一区二区三区| 欧美撒尿777hd撒尿| 精品久久久久久久久久久久包黑料| 国产精品―色哟哟| 美女视频免费一区| 欧洲国内综合视频| 欧美国产激情二区三区 | 亚洲国产日韩精品| 国产一区三区三区| 在线观看欧美日本| 亚洲国产精品精华液2区45| 亚洲成人激情综合网| 波多野结衣一区二区三区| 制服视频三区第一页精品| 国产精品国产馆在线真实露脸 | 一区二区三区美女视频| 韩国欧美国产1区| 欧美日韩国产欧美日美国产精品| 国产亚洲精品久| 青娱乐精品在线视频| 欧美日韩午夜影院| 亚洲欧洲制服丝袜| av中文一区二区三区| 久久免费国产精品 | 亚洲精品在线观看视频| 亚洲一二三四在线| 色天使色偷偷av一区二区| 中文字幕欧美日本乱码一线二线 | 日韩亚洲欧美在线| 亚洲制服丝袜一区| 97se亚洲国产综合自在线观| 国产精品天干天干在线综合| 久久国内精品视频| 日韩美女在线视频| 热久久久久久久| 日韩欧美国产一区二区在线播放| 亚洲mv大片欧洲mv大片精品| 欧美三级欧美一级| 午夜久久久久久久久久一区二区| 色偷偷一区二区三区| 日韩理论片中文av| 99久久久国产精品免费蜜臀| 国产精品久久久久婷婷| 北条麻妃一区二区三区| 亚洲天堂福利av| 色婷婷综合久久久久中文 | 欧洲精品一区二区三区在线观看| 亚洲三级在线播放| 色噜噜久久综合| 亚洲综合丝袜美腿| 91精品国产一区二区三区| 蜜桃免费网站一区二区三区| 精品福利一区二区三区免费视频| 国产专区欧美精品| 中文av一区二区| 91国在线观看| 日韩成人午夜精品| 久久色成人在线| 99久久伊人精品| 亚洲最大色网站| 日韩免费高清视频| 国产成人免费在线| 一区二区三区精品久久久| 在线成人免费观看| 国产高清精品久久久久| 国产精品大尺度| 在线电影一区二区三区| 国产一区二区日韩精品| 亚洲免费观看在线观看| 欧美喷潮久久久xxxxx| 极品尤物av久久免费看| 中文字幕中文乱码欧美一区二区| 欧美xxxx老人做受| 国产成人免费视频一区| 亚洲一区二三区| 久久综合九色综合欧美亚洲| 北条麻妃国产九九精品视频| 人人精品人人爱| 中文字幕视频一区| 日韩美女在线视频| 91蝌蚪国产九色| 精品一区二区影视| 亚洲激情六月丁香| 久久精品亚洲麻豆av一区二区| 色哟哟欧美精品| 福利视频网站一区二区三区| 香蕉久久夜色精品国产使用方法 | 国产成人免费网站| 日韩和的一区二区| 国产精品久久久久婷婷二区次| 欧美一区二区三区的| 色哟哟亚洲精品| 成人黄色av电影| 国产乱码一区二区三区| 日本成人在线看| 亚洲一区二区三区四区中文字幕 | 国产精品成人一区二区三区夜夜夜| 欧美日韩成人激情| 在线观看视频一区二区欧美日韩| 国产福利精品导航| 狠狠色丁香婷婷综合| 日韩精品色哟哟| 夜夜嗨av一区二区三区四季av| 国产日韩欧美高清在线| 精品欧美一区二区三区精品久久| 91.麻豆视频| 欧美老肥妇做.爰bbww视频| 色悠久久久久综合欧美99| 91亚洲国产成人精品一区二三| 国产馆精品极品| 国产精品资源在线观看| 极品少妇xxxx精品少妇偷拍| 狠狠色丁香久久婷婷综合_中| 日本成人在线不卡视频| 日本va欧美va欧美va精品| 婷婷久久综合九色综合绿巨人| 亚洲综合精品自拍| 亚洲午夜激情网页| 亚洲国产一区二区视频| 亚洲午夜私人影院| 日本视频一区二区| 久久电影网站中文字幕| 久久草av在线| 国产盗摄女厕一区二区三区| 国产精品一区二区久久不卡| 国产成人综合在线观看| 粉嫩欧美一区二区三区高清影视| 成人免费视频app| 99精品视频免费在线观看| 色域天天综合网| 7799精品视频| 久久免费视频一区| 中文字幕精品一区二区精品绿巨人 | 99久久综合精品| 在线观看视频91| 欧美一区日韩一区| 久久久一区二区| 中文字幕亚洲电影| 亚洲综合精品自拍| 免费成人在线播放| 丰满少妇久久久久久久| av在线这里只有精品| 在线一区二区三区| 日韩欧美国产系列| 国产精品色婷婷久久58| 亚洲综合一区在线| 国产主播一区二区| 在线看不卡av| 亚洲精品一区二区三区香蕉| 中文成人av在线| 日韩精品视频网| 波多野结衣在线一区| 欧美日韩亚洲综合一区二区三区| 日韩你懂的电影在线观看| 国产精品国产自产拍在线| 亚洲444eee在线观看| 国产盗摄精品一区二区三区在线| 日本精品视频一区二区三区| 日韩精品在线一区二区| 亚洲欧美激情一区二区| 六月丁香婷婷久久|