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

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

?? bufferedresponsewrapper13impl.java

?? dispalytag的源碼
?? JAVA
字號:
/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * *      http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */package org.displaytag.filter;import java.io.CharArrayWriter;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;import org.apache.commons.lang.ArrayUtils;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.displaytag.tags.TableTagParameters;/** * J2ee 1.3 implementation of BufferedResponseWrapper. Need to extend HttpServletResponseWrapper for Weblogic * compatibility. * @author rapruitt * @author Fabrizio Giustina * @version $Revision: 1081 $ ($Author: fgiust $) */public class BufferedResponseWrapper13Impl extends HttpServletResponseWrapper implements BufferedResponseWrapper{    /**     * logger.     */    private static Log log = LogFactory.getLog(BufferedResponseWrapper13Impl.class);    /**     * The buffered response.     */    private CharArrayWriter outputWriter;    /**     * The outputWriter stream.     */    private SimpleServletOutputStream servletOutputStream;    /**     * The contentType.     */    private String contentType;    /**     * If state is set, allow getOutputStream() to return the "real" output stream, elsewhere returns a internal buffer.     */    private boolean state;    /**     * Writer has been requested.     */    private boolean outRequested;    /**     * @param httpServletResponse the response to wrap     */    public BufferedResponseWrapper13Impl(HttpServletResponse httpServletResponse)    {        super(httpServletResponse);        this.outputWriter = new CharArrayWriter();        this.servletOutputStream = new SimpleServletOutputStream();    }    /**     * @see org.displaytag.filter.BufferedResponseWrapper#getContentType()     */    public String getContentType()    {        return this.contentType;    }    /**     * The content type is NOT set on the wrapped response. You must set it manually. Overrides any previously set     * value.     * @param theContentType the content type.     */    public void setContentType(String theContentType)    {        if (state)        {            log.debug("Allowing content type");            if (this.contentType != null && // content type has been set before                this.contentType.indexOf("charset") > -1) // and it specified charset            {                // so copy the charset                String charset = this.contentType.substring(this.contentType.indexOf("charset"));                if (log.isDebugEnabled())                {                    log.debug("Adding charset: [" + charset + "]");                }                getResponse().setContentType(StringUtils.substringBefore(theContentType, "charset") + '=' + charset);            }            else            {                getResponse().setContentType(theContentType);            }        }        this.contentType = theContentType;    }    /**     * @see javax.servlet.ServletResponse#getWriter()     */    public PrintWriter getWriter() throws IOException    {        if (state && !outRequested)        {            log.debug("getWriter() returned");            // ok, exporting in progress, discard old data and go on streaming            this.servletOutputStream.reset();            this.outputWriter.reset();            this.outRequested = true;            return ((HttpServletResponse) getResponse()).getWriter();        }        return new PrintWriter(this.outputWriter);    }    /**     * Flush the buffer, not the response.     * @throws IOException if encountered when flushing     */    public void flushBuffer() throws IOException    {        if (outputWriter != null)        {            this.outputWriter.flush();            this.servletOutputStream.outputStream.reset();        }    }    /**     * @see javax.servlet.ServletResponse#getOutputStream()     */    public ServletOutputStream getOutputStream() throws IOException    {        if (state && !outRequested)        {            log.debug("getOutputStream() returned");            // ok, exporting in progress, discard old data and go on streaming            this.servletOutputStream.reset();            this.outputWriter.reset();            this.outRequested = true;            return ((HttpServletResponse) getResponse()).getOutputStream();        }        return this.servletOutputStream;    }    /**     * @see javax.servlet.http.HttpServletResponse#addHeader(java.lang.String, java.lang.String)     */    public void addHeader(String name, String value)    {        // if the "magic parameter" is set, a table tag is going to call getOutputStream()        if (TableTagParameters.PARAMETER_EXPORTING.equals(name))        {            log.debug("Magic header received, real response is now accessible");            state = true;        }        else        {            if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))            {                ((HttpServletResponse) getResponse()).addHeader(name, value);            }        }    }    /**     * @see org.displaytag.filter.BufferedResponseWrapper#isOutRequested()     */    public boolean isOutRequested()    {        return this.outRequested;    }    /**     * @see org.displaytag.filter.BufferedResponseWrapper#getContentAsString()     */    public String getContentAsString()    {        return this.outputWriter.toString() + this.servletOutputStream.toString();    }    /**     * @see javax.servlet.http.HttpServletResponse#setDateHeader(java.lang.String, long)     */    public void setDateHeader(String name, long date)    {        if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))        {            ((HttpServletResponse) getResponse()).setDateHeader(name, date);        }    }    /**     * @see javax.servlet.http.HttpServletResponse#addDateHeader(java.lang.String, long)     */    public void addDateHeader(String name, long date)    {        if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))        {            ((HttpServletResponse) getResponse()).addDateHeader(name, date);        }    }    /**     * @see javax.servlet.http.HttpServletResponse#setHeader(java.lang.String, java.lang.String)     */    public void setHeader(String name, String value)    {        if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))        {            ((HttpServletResponse) getResponse()).setHeader(name, value);        }    }    /**     * @see javax.servlet.http.HttpServletResponse#setIntHeader(java.lang.String, int)     */    public void setIntHeader(String name, int value)    {        if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))        {            ((HttpServletResponse) getResponse()).setIntHeader(name, value);        }    }    /**     * @see javax.servlet.http.HttpServletResponse#addIntHeader(java.lang.String, int)     */    public void addIntHeader(String name, int value)    {        if (!ArrayUtils.contains(FILTERED_HEADERS, StringUtils.lowerCase(name)))        {            ((HttpServletResponse) getResponse()).addIntHeader(name, value);        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜电影网| 99久久99久久精品国产片果冻| 日本中文在线一区| 欧美亚洲高清一区| 亚洲欧美日韩在线| 97se亚洲国产综合自在线| 26uuu另类欧美| 美女视频黄频大全不卡视频在线播放| 欧美日韩精品电影| 午夜视黄欧洲亚洲| 欧美乱熟臀69xxxxxx| 午夜欧美2019年伦理| 这里只有精品99re| 五月开心婷婷久久| 91.xcao| 日韩精品每日更新| 欧美一区日韩一区| 日韩高清中文字幕一区| 欧美一区二区三区在线观看 | 欧美大黄免费观看| 七七婷婷婷婷精品国产| 日韩一区二区不卡| 激情欧美日韩一区二区| 精品国产第一区二区三区观看体验| 日本最新不卡在线| 精品日产卡一卡二卡麻豆| 国产一区在线视频| 国产午夜亚洲精品不卡| 成人av中文字幕| 亚洲色图另类专区| 在线观看欧美黄色| 首页综合国产亚洲丝袜| 日韩视频一区二区三区在线播放| 亚洲高清久久久| 91麻豆精品国产91久久久久久| 三级欧美韩日大片在线看| 宅男在线国产精品| 亚洲欧洲成人精品av97| 色av一区二区| 日本午夜一区二区| 欧美大片在线观看| 裸体在线国模精品偷拍| 日韩小视频在线观看专区| 国产一区二区精品在线观看| 久久亚洲一级片| 国产电影一区在线| 久久综合九色综合欧美亚洲| 成人国产亚洲欧美成人综合网 | 9色porny自拍视频一区二区| 亚洲美女视频一区| 欧美三级欧美一级| 久久99久久久欧美国产| 国产老女人精品毛片久久| 欧美丝袜丝交足nylons图片| 午夜精品久久一牛影视| 欧美成人一级视频| 亚洲码国产岛国毛片在线| 精品视频1区2区3区| 国产一区二区视频在线播放| 中文欧美字幕免费| 色婷婷av一区二区三区软件| 亚洲成人1区2区| 国产肉丝袜一区二区| av不卡在线播放| 日韩电影在线看| 国产日韩精品一区二区浪潮av | 加勒比av一区二区| 日韩一区有码在线| 色久综合一二码| 欧美aⅴ一区二区三区视频| 久久综合九色欧美综合狠狠| 色综合天天视频在线观看| 亚洲成人av电影| 国产欧美一区二区三区鸳鸯浴 | 91亚洲精华国产精华精华液| 亚洲午夜三级在线| 国产亚洲一区二区三区四区| 色哟哟一区二区| 亚洲国产另类精品专区| 精品欧美一区二区久久| 在线亚洲高清视频| 激情亚洲综合在线| 国产精品视频一二三区| 欧美日韩你懂的| 99视频精品全部免费在线| 亚洲第一会所有码转帖| 一色桃子久久精品亚洲| 91精品国产麻豆| 一本一道综合狠狠老| 免费观看日韩电影| 亚洲与欧洲av电影| 精品精品国产高清a毛片牛牛 | 另类人妖一区二区av| 国产日韩v精品一区二区| 欧美群妇大交群的观看方式| 国产成人av电影在线| 曰韩精品一区二区| 久久夜色精品一区| 日韩一级二级三级| 大胆亚洲人体视频| 久久电影网站中文字幕| 日本一区二区三区四区在线视频| 欧美日韩高清一区| 色先锋aa成人| 国产精品综合一区二区| 中文文精品字幕一区二区| 欧美一区二区三区视频免费 | 国产乱人伦偷精品视频不卡| 成人欧美一区二区三区小说 | 欧美日韩国产三级| 99国产精品久久久久久久久久久| 精品一区二区三区香蕉蜜桃| 亚洲欧美日韩国产手机在线 | 欧美日韩三级在线| 99在线视频精品| 国产成人亚洲综合色影视| 五月天亚洲精品| 亚洲精品一二三四区| 色综合久久综合中文综合网| 成人激情小说乱人伦| 激情综合色综合久久| 毛片av一区二区三区| 这里只有精品99re| 91精品国产综合久久精品app| 99精品视频一区| 成人在线一区二区三区| 亚洲成人福利片| 国产精品国产三级国产aⅴ原创| 国产色综合一区| 欧美成人精品福利| 日韩欧美123| 久久精品99久久久| 黄一区二区三区| 久久精品久久综合| 国产一区二区伦理片| 亚洲精品免费在线播放| 亚洲三级理论片| 亚洲视频精选在线| 中文字幕在线观看不卡| 最新中文字幕一区二区三区| 欧美色图片你懂的| 欧美日韩1234| 欧美日韩一区二区三区在线看| 欧美日韩精品欧美日韩精品一 | 极品销魂美女一区二区三区| 美女看a上一区| 亚洲国产中文字幕在线视频综合| 欧美国产精品专区| 精品国产91亚洲一区二区三区婷婷 | 日韩一区二区中文字幕| 欧美一区二区三区四区高清| 欧美日韩成人激情| 日韩免费高清电影| 成人丝袜视频网| 成人av在线资源网站| 色综合网色综合| 日本精品免费观看高清观看| 一区二区三区久久| 一区二区国产视频| 免费视频最近日韩| 久久99九九99精品| 国产成人综合在线观看| 一区二区三区四区不卡在线| 同产精品九九九| 亚洲第一激情av| 九九精品视频在线看| 亚洲乱码国产乱码精品精98午夜 | 91激情在线视频| 成人97人人超碰人人99| 日本不卡高清视频| 国模少妇一区二区三区| 国产电影精品久久禁18| 波多野结衣在线aⅴ中文字幕不卡| 成人国产亚洲欧美成人综合网| 97久久精品人人做人人爽50路| 欧美狂野另类xxxxoooo| 日韩一级免费一区| 久久综合久久综合亚洲| 精品国产免费人成在线观看| 日本一区二区久久| 亚洲一区二区三区国产| 免费人成网站在线观看欧美高清| 国产日韩欧美激情| 亚洲欧美日韩电影| 麻豆精品国产传媒mv男同| 国产最新精品精品你懂的| 国产91对白在线观看九色| 麻豆精品久久久| 色综合久久久久久久| 日韩一卡二卡三卡四卡| 国产日韩欧美不卡在线| 欧美国产日产图区| 国产亚洲成av人在线观看导航| 亚洲免费在线观看| 日本免费在线视频不卡一不卡二| 国产高清一区日本| 激情综合色丁香一区二区| 丁香婷婷综合色啪| 日韩亚洲欧美中文三级| 国产日韩欧美制服另类|