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

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

?? debugtag.java

?? JSP設計第二版的源碼
?? JAVA
字號:
package com.ora.jsp.tags;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import com.ora.jsp.beans.debug.DebugBean;

/**
 * This class is a custom action that can be used to extract debug
 * information from a JSP PageContext. The debug info is
 * sent to the browser, System.out, and the application log
 * file, depending on the value of the "debug" request
 * parameter sent with the request for the JSP page:
 * "resp", "stdout" and "log". The values can be combined to
 * get the information directed to multiple targets.
 *
 * @author Hans Bergsten, Gefion software <hans@gefionsoftware.com>
 * @version 1.0
 */
public class DebugTag extends TagSupport {
    static private final String LINE_FEED = 
	System.getProperty("line.separator");
    static private final String RESP_TYPE = "resp";
    static private final String STDOUT_TYPE = "stdout";
    static private final String LOG_TYPE = "log";
    private static final String BEAN_ATTR = "com.ora.jsp.DebugBean";
    private String type;

    /**
     * Set the type property. One of "requestInfo", "headers",
     * "cookies", "params", "pageScope", "requestScope",
     * "sessionScope" or "applicationScope".
     */
    public void setType(String type) {
	this.type = type;
    }

    /**
     * Writes the requested type of debug info to the sources
     * specified by the "debug" request parameter: "resp" for
     * response, "stdout" for System.out, and "log" for the
     * application log file.
     */
    public int doEndTag() throws JspException {
	// Get or create the DebugBean
	DebugBean bean = (DebugBean) pageContext.getAttribute(BEAN_ATTR);
	if (bean == null) {
	    bean = new DebugBean();
	    bean.setPageContext(pageContext);
	    pageContext.setAttribute(BEAN_ATTR, bean);
	}

	List debugTypes = getDebugType();
        if (debugTypes != null) {
	    Map info = getInfo(type, bean);
            log(type, info, debugTypes);
            if (debugTypes.contains(RESP_TYPE)) {
		try {
		    pageContext.getOut().write(toHTMLTable(type, info));
		}
		catch (IOException e) {} // Ignore
            }
        }
        return EVAL_PAGE;
    }

    /**
     * Returns a List with all debug types  based on the debug request
     * parameter.
     */
    private List getDebugType() {
	String debug = pageContext.getRequest().getParameter("debug");
	if (debug == null) {
	    return null;
	}
	List debugTypes = new ArrayList();
	if (debug.indexOf(RESP_TYPE) != -1) {
	    debugTypes.add(RESP_TYPE);
	}
	if (debug.indexOf(STDOUT_TYPE) != -1) {
	    debugTypes.add(STDOUT_TYPE);
	}
	if (debug.indexOf(LOG_TYPE) != -1) {
	    debugTypes.add(LOG_TYPE);
	}
	return debugTypes;
    }

    /**
     * Returns the debug info corresponding to the type.
     */
    private Map getInfo(String type, DebugBean bean) throws JspTagException {
	Map info = null;
	if ("requestInfo".equals(type)) {
	    info = bean.getRequestInfo();
	}
	else if ("headers".equals(type)) {
	    info = bean.getHeaders();
	}
	else if ("cookies".equals(type)) {
	    info = bean.getCookies();
	}
	else if ("params".equals(type)) {
	    info = bean.getParams();
	}
	else if ("pageScope".equals(type)) {
	    info = bean.getPageScope();
	}
	else if ("requestScope".equals(type)) {
	    info = bean.getRequestScope();
	}
	else if ("sessionScope".equals(type)) {
	    info = bean.getSessionScope();
	}
	else if ("applicationScope".equals(type)) {
	    info = bean.getApplicationScope();
	}
	else {
	    throw new JspTagException("ora:debug action: Invalid type: " +
		type);
	}
	return info;
    }

    /**
     * Writes the specified property value to the System.out or
     * the log file, depending on the requested debug type.
     */
    private void log(String propName, String msg, List debugTypes) {
        HttpServletRequest request = 
            (HttpServletRequest) pageContext.getRequest();
        msg = "[DebugBean] " + request.getRequestURI() + " : " + 
            propName + " : " + msg;
        if (debugTypes.contains(STDOUT_TYPE)) {
            System.out.println(msg);
        }
        if (debugTypes.contains(LOG_TYPE)) {
            pageContext.getServletContext().log(msg);
        }
    }
        
    private void log(String propName, Map values, List debugTypes) {
        log(propName, toTabbedTable(values), debugTypes);
    }
    
    /**
     * Returns an HTML table with all the values of the
     * specified property.
     */
    private String toHTMLTable(String propName, Map values) {
        StringBuffer tableSB = new StringBuffer("<table border=\"1\">");
        tableSB.append("<caption align=\"top\"><b>").
            append(propName).
            append("</b></caption>");
        Iterator keys = values.keySet().iterator();
        while (keys.hasNext()) {
            String key = (String) keys.next();
            tableSB.append("<tr><td>").
                append(key).
                append("</td><td>").
                append(values.get(key)).
                append("</td></tr>");
        }
        tableSB.append("</table>");
        return tableSB.toString();
    }
    
    /**
     * Returns an simple ASCII table with all the values of the
     * specified property, used for log output.
     */
    private String toTabbedTable(Map values) {
        StringBuffer tableSB = new StringBuffer();
        Iterator keys = values.keySet().iterator();
        while (keys.hasNext()) {
            String key = (String) keys.next();
            tableSB.append(LINE_FEED).
                append(key).append("\t\t").
                append(values.get(key));
        }
        return tableSB.toString();
    }    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人你懂的| 男女性色大片免费观看一区二区| 欧美一级日韩不卡播放免费| 欧美午夜寂寞影院| 在线免费观看一区| 欧美三级中文字幕| 欧美久久免费观看| 精品久久久久久久久久久院品网| 精品成a人在线观看| 国产视频亚洲色图| 国产精品的网站| 亚洲主播在线观看| 久久激情五月激情| 国产成人丝袜美腿| 色综合中文字幕国产| 91片黄在线观看| 欧美欧美欧美欧美首页| 日韩欧美中文一区| 国产精品美女一区二区在线观看| 国产精品传媒视频| 天堂蜜桃91精品| 国产美女视频一区| 日本黄色一区二区| 日韩女优毛片在线| 亚洲欧洲日韩一区二区三区| 亚洲动漫第一页| 久久不见久久见免费视频7| 国产凹凸在线观看一区二区| 99九九99九九九视频精品| 欧美精品国产精品| 中文一区一区三区高中清不卡| 亚洲精品高清视频在线观看| 日本不卡一二三| 99国产精品国产精品久久| 日韩色在线观看| 亚洲精品大片www| 国产毛片一区二区| 欧美美女喷水视频| 亚洲日本va午夜在线影院| 久久99精品一区二区三区三区| a级精品国产片在线观看| 日韩一区二区高清| 亚洲欧美另类图片小说| 国产一区二区三区久久悠悠色av| 在线观看中文字幕不卡| 中文字幕av一区二区三区免费看 | 久久99国产精品久久| 不卡视频免费播放| 精品国免费一区二区三区| 一区二区三区在线视频播放| 成人性视频网站| 精品国产区一区| 天天影视网天天综合色在线播放| 粉嫩一区二区三区在线看| 精品少妇一区二区三区在线播放 | 欧美丝袜丝交足nylons| 国产精品丝袜在线| 成人晚上爱看视频| 91精品视频网| 午夜伦欧美伦电影理论片| 色妹子一区二区| 亚洲欧洲av另类| 成人深夜福利app| 久久精品这里都是精品| 狠狠v欧美v日韩v亚洲ⅴ| 日韩欧美国产电影| 青椒成人免费视频| 日韩亚洲欧美成人一区| 午夜欧美一区二区三区在线播放| 99热99精品| 亚洲人成网站色在线观看| 99精品视频在线观看免费| 亚洲人精品一区| 97精品电影院| 一区二区久久久| 欧美日韩激情在线| 丝瓜av网站精品一区二区 | 国产呦萝稀缺另类资源| 日韩欧美亚洲另类制服综合在线| 视频在线观看91| 欧美一区二区在线免费播放| 免费在线观看成人| 精品三级在线观看| 国产乱码精品一区二区三区av| xnxx国产精品| 成人深夜视频在线观看| 亚洲精品伦理在线| 欧美三级三级三级| 久久超级碰视频| 欧美国产激情一区二区三区蜜月| zzijzzij亚洲日本少妇熟睡| 亚洲三级在线播放| 91精品蜜臀在线一区尤物| 久久97超碰国产精品超碰| 日本一区二区三区高清不卡| av电影在线观看完整版一区二区| 亚洲国产另类av| 久久综合色8888| 99久久er热在这里只有精品15| 亚洲一线二线三线视频| 日韩欧美一区二区免费| 豆国产96在线|亚洲| 一区二区三区国产精华| 欧美一级一区二区| 大白屁股一区二区视频| 亚洲一区二区三区四区五区黄| 欧美成人综合网站| 在线免费视频一区二区| 极品美女销魂一区二区三区免费| 国产精品夫妻自拍| 欧美一级爆毛片| 色老汉av一区二区三区| 国内精品写真在线观看| 亚洲一二三四在线| 国产精品久久久一本精品 | 欧美一区二区在线播放| 成人18视频日本| 蜜桃视频在线观看一区| 亚洲码国产岛国毛片在线| 日韩亚洲欧美一区二区三区| 色综合天天天天做夜夜夜夜做| 麻豆精品视频在线| 一区二区成人在线视频| 中文久久乱码一区二区| 日韩欧美久久一区| 91免费版在线| 不卡一卡二卡三乱码免费网站| 免费观看91视频大全| 亚洲国产aⅴ天堂久久| 国产精品美女久久福利网站| 久久综合久久鬼色中文字| 欧美精品一级二级| 欧美影院一区二区| 91视频在线观看免费| 国产.欧美.日韩| 久久成人免费电影| 麻豆精品在线观看| 免费在线观看视频一区| 日韩国产欧美在线播放| 午夜av一区二区三区| 亚洲午夜成aⅴ人片| 一区二区三区四区不卡在线| 17c精品麻豆一区二区免费| 国产日产欧美一区二区视频| 欧美精品一区二区三区久久久| 欧美一区二区在线免费观看| 这里只有精品视频在线观看| 欧美狂野另类xxxxoooo| 777a∨成人精品桃花网| 欧美二区三区91| 日韩欧美卡一卡二| 精品国产免费久久| 国产亚洲女人久久久久毛片| 久久久久久久久久久久久女国产乱| 久久亚洲二区三区| 国产女主播在线一区二区| 国产三级一区二区| 国产精品免费人成网站| 国产精品久久三| 亚洲国产欧美在线| 日本 国产 欧美色综合| 精品影视av免费| 国产91对白在线观看九色| 91视频xxxx| 欧美精品第1页| 久久只精品国产| ...xxx性欧美| 亚洲一区二区三区中文字幕| 五月婷婷激情综合| 老汉av免费一区二区三区 | 欧美三级资源在线| 欧美一区二区三区视频免费| 精品久久人人做人人爱| 国产精品久久久久久久第一福利 | 久久国产综合精品| 丁香婷婷综合五月| 欧美日韩一级二级| 欧美刺激午夜性久久久久久久| 国产视频一区二区在线| 亚洲乱码一区二区三区在线观看| 性做久久久久久久免费看| 国产乱码精品一区二区三区av | 337p日本欧洲亚洲大胆色噜噜| 26uuu国产日韩综合| 亚洲精品亚洲人成人网 | 成人黄色国产精品网站大全在线免费观看| 成人av电影在线网| 91精品国产综合久久福利软件| 国产欧美日韩中文久久| 亚洲一区中文在线| 丁香啪啪综合成人亚洲小说 | 日韩av电影天堂| 成人网在线播放| 日韩女优制服丝袜电影| 亚洲精品中文在线观看| 国产高清在线精品| 在线成人午夜影院| 亚洲日穴在线视频| 国产精品一区二区久久不卡| 欧美另类videos死尸|