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

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

?? tabletag.java

?? dispalytag的源碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
        if (keepStatus)        {            if (result == null)            {                // get from session                HttpSession session = request.getSession(false);                if (session != null)                {                    if (clearStatus)                    {                        session.removeAttribute(encodedParam);                    }                    else                    {                        result = (Integer) session.getAttribute(encodedParam);                    }                }            }            else            {                // set into session                request.getSession(true).setAttribute(encodedParam, result);            }        }        return result;    }    /**     * Reads parameters from the request and initialize all the needed table model attributes.     * @throws FactoryInstantiationException for problems in instantiating a RequestHelperFactory     */    private void initParameters() throws JspTagException, FactoryInstantiationException    {        if (rhf == null)        {            // first time initialization            rhf = this.properties.getRequestHelperFactoryInstance();        }        String fullName = getFullObjectName();        // only evaluate if needed, else use list attribute        if (fullName != null)        {            this.list = evaluateExpression(fullName);        }        else if (this.list == null)        {            // needed to allow removing the collection of objects if not set directly            this.list = this.listAttribute;        }        if (this.list instanceof PaginatedList)        {            this.paginatedList = (PaginatedList) this.list;            this.list = this.paginatedList.getList();        }        // set the table model to perform in memory local sorting        this.tableModel.setLocalSort(this.localSort && (this.paginatedList == null));        HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest();        RequestHelper requestHelper = rhf.getRequestHelperInstance(this.pageContext);        initHref(requestHelper);        Integer pageNumberParameter = getFromRequestOrSession(request, requestHelper, TableTagParameters.PARAMETER_PAGE);        this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();        int sortColumn = -1;        if (!this.tableModel.isLocalSort())        {            // our sort column parameter may be a string, check that first            String sortColumnName = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));            // if usename is not null, sortColumnName is the name, if not is the column index            String usename = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORTUSINGNAME));            if (sortColumnName == null)            {                this.tableModel.setSortedColumnNumber(this.defaultSortedColumn);            }            else            {                if (usename != null)                {                    this.tableModel.setSortedColumnName(sortColumnName); // its a string, set as string                }                else if (NumberUtils.isNumber(sortColumnName))                {                    sortColumn = Integer.parseInt(sortColumnName);                    this.tableModel.setSortedColumnNumber(sortColumn); // its an int set as normal                }            }        }        else if (this.paginatedList == null)        {            Integer sortColumnParameter = getFromRequestOrSession(                request,                requestHelper,                TableTagParameters.PARAMETER_SORT);            sortColumn = (sortColumnParameter == null) ? this.defaultSortedColumn : sortColumnParameter.intValue();            this.tableModel.setSortedColumnNumber(sortColumn);        }        else        {            sortColumn = defaultSortedColumn;        }        // default value        boolean finalSortFull = this.properties.getSortFullList();        // user value for this single table        if (this.sortFullTable != null)        {            finalSortFull = this.sortFullTable.booleanValue();        }        // if a partial list is used and sort="list" is specified, assume the partial list is already sorted        if (!this.partialList || !finalSortFull)        {            this.tableModel.setSortFullTable(finalSortFull);        }        if (this.paginatedList == null)        {            SortOrderEnum paramOrder = SortOrderEnum.fromCode(getFromRequestOrSession(                request,                requestHelper,                TableTagParameters.PARAMETER_ORDER));            // if no order parameter is set use default            if (paramOrder == null)            {                paramOrder = this.defaultSortOrder;            }            boolean order = SortOrderEnum.DESCENDING != paramOrder;            this.tableModel.setSortOrderAscending(order);        }        else        {            SortOrderEnum direction = paginatedList.getSortDirection();            this.tableModel.setSortOrderAscending(direction == SortOrderEnum.ASCENDING);        }        Integer exportTypeParameter = requestHelper            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_EXPORTTYPE));        this.currentMediaType = (MediaTypeEnum) ObjectUtils.defaultIfNull(            MediaTypeEnum.fromCode(exportTypeParameter),            MediaTypeEnum.HTML);        // if we are doing partialLists then ensure we have our size object        if (this.partialList)        {            if ((this.sizeObjectName == null) && (this.size == null))            {                // ?            }            if (this.sizeObjectName != null)            {                // retrieve the object from scope                this.size = evaluateExpression(this.sizeObjectName);            }            if (size == null)            {                throw new JspTagException(Messages.getString("MissingAttributeException.msg", new Object[]{"size"}));            }            else if (!(size instanceof Integer))            {                throw new JspTagException(Messages.getString(                    "InvalidTypeException.msg",                    new Object[]{"size", "Integer"}));            }            PaginationHelper paginationHelper = new PaginationHelper(pageNumber, pagesize);            this.tableIterator = paginationHelper.getIterator(this.list);        } else {            this.tableIterator = IteratorUtils.getIterator(this.list);        }        // do we really need to skip any row?        boolean wishOptimizedIteration = ((this.pagesize > 0 // we are paging            || this.offset > 0 // or we are skipping some records using offset        || this.length > 0 // or we are limiting the records using length        ) && !partialList); // only optimize if we have the full list        // can we actually skip any row?        if (wishOptimizedIteration && (this.list instanceof Collection) // we need to know the size            && ((sortColumn == -1 // and we are not sorting            || !finalSortFull // or we are sorting with the "page" behaviour            ) && (this.currentMediaType == MediaTypeEnum.HTML // and we are not exporting            || !this.properties.getExportFullList()) // or we are exporting a single page            ))        {            int start = 0;            int end = 0;            if (this.offset > 0)            {                start = this.offset;            }            if (length > 0)            {                end = start + this.length;            }            if (this.pagesize > 0)            {                int fullSize = ((Collection) this.list).size();                start = (this.pageNumber - 1) * this.pagesize;                // invalid page requested, go back to last page                if (start > fullSize)                {                    int div = fullSize / this.pagesize;                    start = (fullSize % this.pagesize == 0) ? div : div + 1;                }                end = start + this.pagesize;            }            // rowNumber starts from 1            filteredRows = new LongRange(start + 1, end);        }        else        {            filteredRows = new LongRange(1, Long.MAX_VALUE);        }    }    /**     * Is the current row included in the "to-be-evaluated" range? Called by nested ColumnTags. If <code>false</code>     * column body is skipped.     * @return <code>true</code> if the current row must be evaluated because is included in output or because is     * included in sorting.     */    protected boolean isIncludedRow()    {        return ((Range) filteredRows).containsLong(this.rowNumber);    }    /**     * Create a complete string for compatibility with previous version before expression evaluation. This approach is     * optimized for new expressions, not for previous property/scope parameters.     * @return Expression composed by scope + name + property     */    private String getFullObjectName()    {        // only evaluate if needed, else preserve original list        if (this.name == null)        {            return null;        }        return this.name;    }    /**     * init the href object used to generate all the links for pagination, sorting, exporting.     * @param requestHelper request helper used to extract the base Href     */    protected void initHref(RequestHelper requestHelper)    {        // get the href for this request        this.baseHref = requestHelper.getHref();        if (this.excludedParams != null)        {            String[] splittedExcludedParams = StringUtils.split(this.excludedParams);            // handle * keyword            if (splittedExcludedParams.length == 1 && "*".equals(splittedExcludedParams[0]))            {                // @todo cleanup: paramEncoder initialization should not be done here                if (this.paramEncoder == null)                {                    this.paramEncoder = new ParamEncoder(getUid());                }                Iterator paramsIterator = baseHref.getParameterMap().keySet().iterator();                while (paramsIterator.hasNext())                {                    String key = (String) paramsIterator.next();                    // don't remove parameters added by the table tag                    if (!this.paramEncoder.isParameterEncoded(key))                    {                        baseHref.removeParameter(key);                    }                }            }            else            {                for (int j = 0; j < splittedExcludedParams.length; j++)                {                    baseHref.removeParameter(splittedExcludedParams[j]);                }            }        }        if (this.requestUri != null)        {            // if user has added a requestURI create a new href            String fullURI = requestUri;            if (!this.dontAppendContext)            {                String contextPath = ((HttpServletRequest) this.pageContext.getRequest()).getContextPath();                // prepend the context path if any.                // actually checks if context path is already there for people which manually add it                if (!StringUtils.isEmpty(contextPath)                    && requestUri != null                    && requestUri.startsWith("/")                    && !requestUri.startsWith(contextPath))                {                    fullURI = contextPath + this.requestUri;                }            }            // call encodeURL to preserve session id when cookies are disabled            fullURI = ((HttpServletResponse) this.pageContext.getResponse()).encodeURL(fullURI);            baseHref.setFullUrl(fullURI);            // // ... and copy parameters from the current request            // Map parameterMap = normalHref.getParameterMap();            // this.baseHref.addParameterMap(parameterMap);        }    }    /**     * Draw the table. This is where everything happens, we figure out what values we are supposed to be showing, we     * figure out how we are supposed to be showing them, then we draw them.     * @return int     * @throws JspException generic exception     * @see javax.servlet.jsp.tagext.Tag#doEndTag()     */    public int doEndTag() throws JspException    {        if (log.isDebugEnabled())        {            log.debug("[" + getUid() + "] doEndTag called");        }        if (!this.doAfterBodyExecuted)        {            if (log.isDebugEnabled())            {                log.debug("[" + getUid() + "] tag body is empty.");            }            // first row (created in doStartTag)            if (this.currentRow != null)            {                // if yes add to table model and remove                this.tableModel.addRow(this.currentRow);            }            // other rows            while (this.tableIterator.hasNext())            {                Object iteratedObject = this.tableIterator.next();                this.rowNumber++;                // Row object for Cell values                this.currentRow = new Row(iteratedObject, this.rowNumber);                this.tableModel.addRow(this.currentRow);            }        }        // if no rows are defined automatically get all properties from bean        if (this.tableModel.isEmpty())        {            describeEmptyTable();        }        TableDecorator tableDecorator = this.properties.getDecoratorFactoryInstance().loadTableDecorator(            this.pageContext,            getConfiguredDecoratorName());        if (tableDecorator != null)        {            tableDecorator.init(this.pageContext, this.list, this.tableModel);            this.tableModel.setTableDecorator(tableDecorator);        }        setupViewableData();        // Figure out how we should sort this data, typically we just sort        // the data being shown, but the programmer can override this behavior        if (this.paginatedList == null && this.tableModel.isLocalSort())        {            if (!this.tableModel.isSortFullTable())            {                this.tableModel.sortPageList();            }        }        // Get the data back in the representation that the user is after, do they want HTML/XML/CSV/EXCEL/etc...        int returnValue = EVAL_PAGE;        // check for nested tables        // Object previousMediaType = this.pageContext.getAttribute(PAGE_ATTRIBUTE_MEDIA);        Object previousMediaType = this.pageContext.getAttribute(PAGE_ATTRIBUTE_MEDIA);        if (MediaTypeEnum.HTML.equals(this.currentMediaType)            && (previousMediaType == null || MediaTypeEnum.HTML.equals(previousMediaType)))        {            writeHTMLData();        }        else if (!MediaTypeEnum.HTML.equals(this.currentMediaType))        {            if (log.isDebugEnabled())            {                log.debug("[" + getUid() + "] doEndTag - exporting");            }            returnValue = doExport();        }        // do not remove media attribute! if the table is nested in other tables this is still needed        // this.pageContext.removeAttribute(PAGE_ATTRIBUTE_MEDIA);        if (log.isDebugEnabled())        {            log.debug("[" + getUid() + "] doEndTag - end");        }        cleanUp();        return returnValue;    }    /**     * Returns the name of the table decorator that should be applied to this table, which is either the decorator     * configured in the property "decorator", or if none is configured in said property, a decorator configured with     * the "decorator.media.[media type]" property, or null if none is configured.     * @return Name of the table decorator that should be applied to this table.     */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产永久精品大片wwwapp| 午夜精品福利视频网站| 91精品在线免费观看| 国产a级毛片一区| 天堂一区二区在线免费观看| 亚洲国产成人午夜在线一区| 3atv在线一区二区三区| 一本一道久久a久久精品综合蜜臀| 麻豆成人久久精品二区三区红| 国产精品免费久久| ww久久中文字幕| 欧美高清性hdvideosex| 99久久综合99久久综合网站| 日产欧产美韩系列久久99| 亚洲欧美色综合| 国产精品三级视频| 久久综合久色欧美综合狠狠| 91精品国产黑色紧身裤美女| 91国偷自产一区二区三区观看 | 国产精品久久久久久久久图文区| 91精品久久久久久久91蜜桃| 色av综合在线| 91丨九色丨尤物| 成人午夜视频在线观看| 在线日韩国产精品| 99精品视频中文字幕| 欧美韩日一区二区三区| 国产精品996| 蜜桃视频在线观看一区| 亚洲一区二区欧美| 亚洲精品福利视频网站| 亚洲精品视频自拍| 一个色在线综合| 亚洲日本韩国一区| 中文字幕日韩av资源站| 处破女av一区二区| 午夜久久久久久久久久一区二区| 精品美女在线观看| 91视频.com| 国产99精品在线观看| 亚洲午夜影视影院在线观看| 国产亚洲欧洲997久久综合| 欧美综合欧美视频| 99精品欧美一区二区三区小说| 青青草国产成人av片免费| 亚洲综合视频在线观看| 久久久激情视频| 欧美午夜精品一区二区蜜桃| 99精品视频在线观看| 久久电影网电视剧免费观看| 亚洲一卡二卡三卡四卡五卡| 亚洲成人av电影在线| 精品999在线播放| 日韩一区二区三区在线观看| 成人中文字幕合集| 一区二区三区中文字幕电影| 色网站国产精品| 国产传媒一区在线| 国产一区视频在线看| 一本大道久久精品懂色aⅴ| 国产免费久久精品| 亚洲国产乱码最新视频| 国产午夜亚洲精品不卡| 亚洲色图视频网| 天天av天天翘天天综合网| 欧美aⅴ一区二区三区视频| 另类的小说在线视频另类成人小视频在线| 久久精品国产**网站演员| 国产精品99久久久久久久vr| 91在线porny国产在线看| 欧美日韩成人在线一区| 精品国产免费人成在线观看| 国产精品毛片高清在线完整版 | 国产精品伦理在线| 一区二区在线观看免费视频播放 | www.亚洲免费av| 欧美三电影在线| 亚洲精品一区二区三区福利| 国产精品久久免费看| 亚洲一区二区在线观看视频| 美女视频网站久久| 91免费版在线| 精品久久久久99| 伊人开心综合网| 国产老妇另类xxxxx| 在线免费不卡电影| 久久久精品综合| 亚洲成va人在线观看| 国产成人自拍网| 欧美美女激情18p| 国产精品色哟哟网站| 日韩在线一二三区| 99精品1区2区| 欧美精品一区二区在线播放 | 日日欢夜夜爽一区| 粉嫩绯色av一区二区在线观看 | 国产在线不卡视频| 欧美中文字幕一区二区三区| 精品国产第一区二区三区观看体验| 亚洲视频在线观看一区| 免费观看久久久4p| 日本久久电影网| 国产精品视频九色porn| 精品一区二区在线视频| 欧美日韩免费一区二区三区视频| 中文子幕无线码一区tr| 久久精品国产色蜜蜜麻豆| 欧美在线一区二区三区| 中文字幕二三区不卡| 国产综合色精品一区二区三区| 666欧美在线视频| 亚洲精品乱码久久久久| 国产盗摄女厕一区二区三区| 日韩一区二区三区在线观看| 亚洲国产精品久久久久秋霞影院| av在线播放成人| 国产精品萝li| 懂色av噜噜一区二区三区av| 精品久久一区二区三区| 欧美亚洲高清一区二区三区不卡| 日本一区二区视频在线| 精品在线一区二区| 91精品国产色综合久久ai换脸| 一区二区三区**美女毛片| 99精品欧美一区二区三区综合在线| 国产欧美日韩另类一区| 国产一区二区h| 久久久99久久| 国产精品911| 久久精品无码一区二区三区| 精品一区二区三区欧美| 精品sm捆绑视频| 国产精品亚洲一区二区三区妖精| 精品福利二区三区| 国产剧情一区在线| 国产婷婷色一区二区三区在线| 狠狠色丁香久久婷婷综合_中 | 欧美在线综合视频| 性欧美疯狂xxxxbbbb| 亚洲精品一区二区三区福利| 欧美色国产精品| 日本在线不卡视频| 国产精品美女久久久久高潮| 欧美性色综合网| 国产成人av一区二区三区在线| 亚洲欧美日韩人成在线播放| 日韩一级大片在线观看| 99国产精品视频免费观看| 三级亚洲高清视频| 中文字幕一区不卡| 精品三级在线看| 欧美美女黄视频| 成人a免费在线看| 久久国产综合精品| 国产一区在线视频| 亚洲成av人综合在线观看| 亚洲国产精品成人综合色在线婷婷 | 成人教育av在线| 亚洲久草在线视频| 国产精品激情偷乱一区二区∴| 欧美片网站yy| 国产喂奶挤奶一区二区三区| 精品一区二区三区日韩| 欧美日韩大陆一区二区| 国产精品色呦呦| 91麻豆免费看片| 免费人成精品欧美精品| 国产午夜精品久久久久久久| 91视频com| 老司机午夜精品| 亚洲免费在线观看视频| 欧美一区二区视频在线观看2020| 国产精品18久久久久| 自拍偷拍亚洲综合| 日韩欧美国产一区在线观看| 高清日韩电视剧大全免费| 夜夜嗨av一区二区三区四季av| 日韩手机在线导航| 成人黄色av电影| 青草av.久久免费一区| 国产精品成人免费精品自在线观看| 欧美精品在线视频| 成人性视频网站| 日韩av一区二区三区四区| 欧美激情一区三区| 欧美精品丝袜中出| 成人国产精品免费网站| 日韩影视精彩在线| 亚洲欧美在线另类| 精品国产第一区二区三区观看体验| 99视频在线精品| 蜜桃传媒麻豆第一区在线观看| 中文字幕一区二区日韩精品绯色| 欧美一个色资源| 日本高清无吗v一区| 国产成人在线看| 老司机精品视频在线| 亚洲午夜久久久久久久久电影网| 久久精品免视看| 日韩欧美中文字幕一区|