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

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

?? defaulthref.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.util;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.StringTokenizer;import org.apache.commons.lang.ObjectUtils;import org.apache.commons.lang.StringEscapeUtils;import org.apache.commons.lang.StringUtils;import org.apache.commons.lang.UnhandledException;import org.apache.commons.lang.builder.EqualsBuilder;import org.apache.commons.lang.builder.HashCodeBuilder;/** * @author Fabrizio Giustina * @version $Revision$ ($Author$) */public class DefaultHref implements Href{    /**     * D1597A17A6.     */    private static final long serialVersionUID = 899149338534L;    /**     * Base url for the href.     */    private String url;    /**     * Url parameters.     */    private Map parameters;    /**     * Anchor (to be added at the end of URL).     */    private String anchor;    /**     * Construct a new Href parsing a URL. Parameters are stripped from the base url and saved in the parameters map.     * @param baseUrl String     */    public DefaultHref(String baseUrl)    {        this.parameters = new HashMap();        setFullUrl(baseUrl);    }    /**     * @see org.displaytag.util.Href#setFullUrl(java.lang.String)     */    public void setFullUrl(String baseUrl)    {        this.url = null;        this.anchor = null;        String noAnchorUrl;        int anchorposition = baseUrl.indexOf('#');        // extract anchor from url        if (anchorposition != -1)        {            noAnchorUrl = baseUrl.substring(0, anchorposition);            this.anchor = baseUrl.substring(anchorposition + 1);        }        else        {            noAnchorUrl = baseUrl;        }        if (noAnchorUrl.indexOf('?') == -1)        {            // simple url, no parameters            this.url = noAnchorUrl;            return;        }        // the Url already has parameters, put them in the parameter Map        StringTokenizer tokenizer = new StringTokenizer(noAnchorUrl, "?"); //$NON-NLS-1$        if (baseUrl.startsWith("?")) //$NON-NLS-1$        {            // support fake URI's which are just parameters to use with the current uri            url = TagConstants.EMPTY_STRING;        }        else        {            // base url (before "?")            url = tokenizer.nextToken();        }        if (!tokenizer.hasMoreTokens())        {            return;        }        // process parameters        StringTokenizer paramTokenizer = new StringTokenizer(tokenizer.nextToken(), "&"); //$NON-NLS-1$        // split parameters (key=value)        while (paramTokenizer.hasMoreTokens())        {            // split key and value ...            String[] keyValue = StringUtils.split(paramTokenizer.nextToken(), '=');            // encode name/value to prevent css            String escapedKey = StringEscapeUtils.escapeHtml(keyValue[0]);            String escapedValue = keyValue.length > 1                ? StringEscapeUtils.escapeHtml(keyValue[1])                : TagConstants.EMPTY_STRING;            if (!this.parameters.containsKey(escapedKey))            {                // ... and add it to the map                this.parameters.put(escapedKey, escapedValue);            }            else            {                // additional value for an existing parameter                Object previousValue = this.parameters.get(escapedKey);                if (previousValue != null && previousValue.getClass().isArray())                {                    Object[] previousArray = (Object[]) previousValue;                    Object[] newArray = new Object[previousArray.length + 1];                    int j;                    for (j = 0; j < previousArray.length; j++)                    {                        newArray[j] = previousArray[j];                    }                    newArray[j] = escapedValue;                    this.parameters.put(escapedKey, newArray);                }                else                {                    this.parameters.put(escapedKey, new Object[]{previousValue, escapedValue});                }            }        }    }    /**     * Adds a parameter to the href.     * @param name String     * @param value Object     * @return this Href instance, useful for concatenation.     */    public Href addParameter(String name, Object value)    {        this.parameters.put(name, ObjectUtils.toString(value, null));        return this;    }    /**     * Removes a parameter from the href.     * @param name String     */    public void removeParameter(String name)    {        // warning, param names are escaped        this.parameters.remove(StringEscapeUtils.escapeHtml(name));    }    /**     * Adds an int parameter to the href.     * @param name String     * @param value int     * @return this Href instance, useful for concatenation.     */    public Href addParameter(String name, int value)    {        this.parameters.put(name, new Integer(value));        return this;    }    /**     * Getter for the map containing link parameters. The returned map is always a copy and not the original instance.     * @return parameter Map (copy)     */    public Map getParameterMap()    {        Map copyMap = new HashMap(this.parameters.size());        copyMap.putAll(this.parameters);        return copyMap;    }    /**     * Adds all the parameters contained in the map to the Href. The value in the given Map will be escaped before     * added. Any parameter already present in the href object is removed.     * @param parametersMap Map containing parameters     */    public void setParameterMap(Map parametersMap)    {        // create a new HashMap        this.parameters = new HashMap(parametersMap.size());        // copy the parameters        addParameterMap(parametersMap);    }    /**     * Adds all the parameters contained in the map to the Href. The value in the given Map will be escaped before     * added. Parameters in the original href are kept and not overridden.     * @param parametersMap Map containing parameters     */    public void addParameterMap(Map parametersMap)    {        // handle nulls        if (parametersMap == null)        {            return;        }        // copy value, escaping html        Iterator mapIterator = parametersMap.entrySet().iterator();        while (mapIterator.hasNext())        {            Map.Entry entry = (Map.Entry) mapIterator.next();            String key = StringEscapeUtils.escapeHtml((String) entry.getKey());            // don't overwrite parameters            if (!this.parameters.containsKey(key))            {                Object value = entry.getValue();                if (value != null)                {                    if (value.getClass().isArray())                    {                        String[] values = (String[]) value;                        for (int i = 0; i < values.length; i++)                        {                            values[i] = StringEscapeUtils.escapeHtml(values[i]);                        }                    }                    else                    {                        value = StringEscapeUtils.escapeHtml(value.toString());                    }                }                this.parameters.put(key, value);            }        }    }    /**     * Getter for the base url (without parameters).     * @return String     */    public String getBaseUrl()    {        return this.url;    }    /**     * Returns the URI anchor.     * @return anchor or <code>null</code> if no anchor has been set.     */    public String getAnchor()    {        return this.anchor;    }    /**     * Setter for the URI anchor.     * @param name string to be used as anchor name (without #).     */    public void setAnchor(String name)    {        this.anchor = name;    }    /**     * toString: output the full url with parameters.     * @return String     */    public String toString()    {        StringBuffer buffer = new StringBuffer(30);        buffer.append(this.url);        if (this.parameters.size() > 0)        {            buffer.append('?');            Set parameterSet = this.parameters.entrySet();            Iterator iterator = parameterSet.iterator();            while (iterator.hasNext())            {                Map.Entry entry = (Map.Entry) iterator.next();                Object key = entry.getKey();                Object value = entry.getValue();                if (value == null)                {                    buffer.append(key).append('='); // no value                }                else if (value.getClass().isArray())                {                    Object[] values = (Object[]) value;                    for (int i = 0; i < values.length; i++)                    {                        if (i > 0)                        {                            buffer.append(TagConstants.AMPERSAND);                        }                        buffer.append(key).append('=').append(values[i]);                    }                }                else                {                    buffer.append(key).append('=').append(value);                }                if (iterator.hasNext())                {                    buffer.append(TagConstants.AMPERSAND);                }            }        }        if (this.anchor != null)        {            buffer.append('#');            buffer.append(this.anchor);        }        return buffer.toString();    }    /**     * @see java.lang.Object#clone()     */    public Object clone()    {        final DefaultHref href;        try        {            href = (DefaultHref) super.clone();        }        catch (CloneNotSupportedException e)        {            throw new UnhandledException(e);        }        href.parameters = new HashMap(this.parameters);        return href;    }    /**     * @see java.lang.Object#equals(Object)     */    public boolean equals(Object object)    {        if (!(object instanceof DefaultHref))        {            return false;        }        DefaultHref rhs = (DefaultHref) object;        return new EqualsBuilder().append(this.parameters, rhs.parameters).append(this.url, rhs.url).append(            this.anchor,            rhs.anchor).isEquals();    }    /**     * @see java.lang.Object#hashCode()     */    public int hashCode()    {        return new HashCodeBuilder(1313733113, -431360889)            .append(this.parameters)            .append(this.url)            .append(this.anchor)            .toHashCode();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日摸夜夜添夜夜添亚洲女人| 欧美一区二区三区在线看| 国产不卡高清在线观看视频| 粉嫩欧美一区二区三区高清影视| 国产精品色哟哟| 日韩一区二区精品| 日韩你懂的在线观看| 精品国产乱码91久久久久久网站| 欧美国产欧美综合| 亚洲一区二区三区四区在线 | 久久av老司机精品网站导航| 国产成人福利片| 精品视频在线免费看| 久久夜色精品国产噜噜av | 欧美日韩免费一区二区三区 | 欧洲亚洲精品在线| 精品裸体舞一区二区三区| 亚洲伦理在线免费看| 国产成人一级电影| 精品日韩av一区二区| 日韩中文字幕区一区有砖一区| 5858s免费视频成人| 日本一区二区三区电影| 久久99精品国产麻豆不卡| 欧美久久久久久久久| 亚洲美女一区二区三区| 99精品久久只有精品| 久久久蜜臀国产一区二区| 六月婷婷色综合| 6080午夜不卡| 久久99精品久久只有精品| 欧美日韩高清影院| 日韩精品亚洲专区| 欧美一级免费大片| 免费观看在线综合色| 精品区一区二区| 国产综合久久久久久久久久久久| 91精品国产综合久久小美女| 日本欧美大码aⅴ在线播放| 欧美日韩国产综合草草| 久久激五月天综合精品| 精品少妇一区二区三区免费观看 | 久久久久久**毛片大全| 国产精品综合在线视频| 亚洲欧美精品午睡沙发| 在线视频你懂得一区| 麻豆专区一区二区三区四区五区| 欧美成人伊人久久综合网| 国产精品原创巨作av| 日韩美女视频一区二区| 欧美日韩一区三区| 国产在线播放一区三区四| 国产精品三级电影| 欧美男女性生活在线直播观看| 久久www免费人成看片高清| 国产精品国产精品国产专区不蜜| 欧美日韩高清一区二区三区| 国产激情视频一区二区在线观看| 尤物视频一区二区| 久久久三级国产网站| 欧美日韩免费在线视频| 99精品黄色片免费大全| 国产乱子伦一区二区三区国色天香| 综合久久给合久久狠狠狠97色| 日韩一区二区三区在线视频| 欧美性大战久久久久久久蜜臀| 国产在线精品不卡| 久久99在线观看| 日韩高清不卡一区二区| 夜夜爽夜夜爽精品视频| 国产精品电影一区二区| 久久美女艺术照精彩视频福利播放| 欧美午夜影院一区| 欧美亚洲综合在线| 欧美中文字幕一区二区三区亚洲| 99精品久久只有精品| 97精品久久久午夜一区二区三区 | 亚洲综合999| 亚洲欧美激情一区二区| 亚洲欧美一区二区三区久本道91| 日本一区二区三区免费乱视频 | 国产黄色成人av| 国产高清不卡一区二区| 顶级嫩模精品视频在线看| 国产成人精品免费视频网站| k8久久久一区二区三区| 91亚洲男人天堂| 欧美日韩不卡一区二区| 91精品国产综合久久香蕉的特点| 91精品国产综合久久蜜臀| 欧美成人一区二区三区在线观看| 精品国产露脸精彩对白| 国产精品久久久久久久久晋中| 亚洲欧美日韩一区二区| 午夜精品aaa| 国产成人精品亚洲777人妖| 91在线观看污| 日韩亚洲欧美一区| 国产精品女同一区二区三区| 亚洲欧洲成人自拍| 看国产成人h片视频| 91久久精品一区二区三| 欧美成人国产一区二区| 日韩美女视频一区| 国产成人av电影在线播放| 欧美羞羞免费网站| 国产精品成人午夜| 国产米奇在线777精品观看| 在线电影国产精品| 一区二区欧美精品| 成人一区二区三区中文字幕| 日韩一级片网址| 亚洲一区中文日韩| av毛片久久久久**hd| 久久久一区二区三区| 免费人成黄页网站在线一区二区 | 伊人开心综合网| 91日韩在线专区| 中文字幕在线不卡视频| jlzzjlzz欧美大全| 中文字幕制服丝袜一区二区三区| 精品一区二区三区在线视频| 欧美最新大片在线看| 亚洲一区二区三区视频在线播放| va亚洲va日韩不卡在线观看| 国产精品美女久久久久久久久 | 亚洲综合999| 在线视频国内自拍亚洲视频| 亚洲一区二区在线观看视频| 在线精品亚洲一区二区不卡| 亚洲精品乱码久久久久久黑人 | 久久电影网电视剧免费观看| 中文字幕亚洲综合久久菠萝蜜| 麻豆国产精品官网| 欧美系列在线观看| 中文字幕一区二区三区不卡在线 | 午夜欧美视频在线观看| 九九视频精品免费| 国产丝袜欧美中文另类| 三级欧美韩日大片在线看| 一本久道久久综合中文字幕| 91丨九色丨黑人外教| 欧美日韩国产免费| 久久久久久久电影| 亚洲精品国产高清久久伦理二区| 日韩在线一区二区三区| 国产iv一区二区三区| 国产成人啪午夜精品网站男同| 国产精品久久久一区麻豆最新章节| 久久99精品久久久久久国产越南| 一区二区免费视频| 欧美精品久久天天躁| 美日韩一区二区| 欧美精品一区二区三区很污很色的| 亚洲欧美一区二区久久| 国产一区二区三区电影在线观看| 久久综合色综合88| 国产精品亚洲成人| 亚洲高清不卡在线| 久久免费精品国产久精品久久久久| 色婷婷亚洲一区二区三区| 久久69国产一区二区蜜臀| 国产日产欧美精品一区二区三区| 91丨porny丨蝌蚪视频| 夜色激情一区二区| 亚洲精品日韩综合观看成人91| 日韩欧美卡一卡二| 欧美一区二区免费视频| 欧美在线免费视屏| 欧美精品日日鲁夜夜添| 欧美日韩成人综合天天影院 | 午夜免费欧美电影| 国产一区欧美日韩| 99免费精品在线观看| 国产**成人网毛片九色 | 婷婷成人综合网| 一区二区三区日韩精品视频| 激情久久五月天| 欧美最新大片在线看| 国产情人综合久久777777| 日韩欧美黄色影院| 日韩欧美激情四射| 精品国产乱码久久久久久久久| 欧美一区二区三区免费在线看| 欧美乱妇23p| 国产精品污污网站在线观看| 久久精品国产一区二区三区免费看| 欧美唯美清纯偷拍| 一区二区激情视频| 91国产免费看| 日韩三级中文字幕| 久久精品一区蜜桃臀影院| 久久久综合九色合综国产精品| 久久青草国产手机看片福利盒子 | 精品国产第一区二区三区观看体验| 欧美午夜一区二区三区免费大片| 欧洲精品在线观看| 精品久久久三级丝袜| 国产欧美日韩精品一区| 亚洲一区在线视频观看|