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

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

?? parsetag.java

?? jakarta-taglibs
?? JAVA
字號:
/*
 * Copyright 1999,2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.taglibs.datetime;

import java.util.*;
import java.text.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

/**
 * JSP Tag <b>parse</b>, used to parse a Date string and output
 * the time in ms.
 * <p>
 * The Date as a string is obtained from the body of the tag.
 * <p>
 * Uses the optional attribute <b>pattern</b> as the pattern
 * to use when parsing the Date string.
 * <p>
 * The optional attribute <b>timeZone</b> can be set to the id of
 * a timeZone script varaible so that the Date if adjusted for
 * that timeZone.
 * <p>
 * If the optional attribute <b>locale</b> is true, the Date
 * is parsed for the clients locale if known.
 * <p>                                                        
 * The optional attribute <b>localeRef</b> can be used to specify
 * the name of a page, session, application, or request scope attribute
 * of type java.util.Locale to use.
 * <p>
 * If the date string can not be parsed, 0 is returned.
 * <p>
 * JSP Tag Lib Descriptor
 * <p><pre>
 * &lt;name&gt;parse&lt;/name&gt;
 * &lt;tagclass&gt;org.apache.taglibs.datetime.ParseTag&lt;/tagclass&gt;
 * &lt;bodycontent&gt;JSP&lt;/bodycontent&gt;
 * &lt;info&gt;Parses a date string and outputs the time in milliseconds since Jan 1, 1970 GMT.&lt;/info&gt;
 *   &lt;attribute&gt;
 *     &lt;name&gt;pattern&lt;/name&gt;
 *     &lt;required&gt;false&lt;/required&gt;
 *     &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *   &lt;/attribute&gt;
 *   &lt;attribute&gt;
 *     &lt;name&gt;patternId&lt;/name&gt;
 *     &lt;required&gt;false&lt;/required&gt;
 *     &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *   &lt;/attribute&gt;
 *   &lt;attribute&gt;
 *     &lt;name&gt;timeZone&lt;/name&gt;
 *     &lt;required&gt;false&lt;/required&gt;
 *     &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *   &lt;/attribute&gt;
 *   &lt;attribute&gt;
 *     &lt;name&gt;locale&lt;/name&gt;
 *     &lt;required&gt;false&lt;/required&gt;
 *     &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *   &lt;/attribute&gt;
 *   &lt;attribute&gt;                             
 *     &lt;name&gt;localeRef&lt;/name&gt;
 *     &lt;required&gt;false&lt;/required&gt;
 *     &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *   &lt;/attribute&gt;
 * </pre>
 *
 * @author Glenn Nielsen
 */

public class ParseTag extends BodyTagSupport
{
    // Optional attribute, use users locale if known when formatting date
    private boolean locale_flag = false;
    // Optional attribute, time pattern string to use when formatting date
    private String pattern = null;
    // Optional attribute, name of script variable to use as pattern
    private String patternid = null;
    // Optional attribute, timeZone script variable id to use when
    // formatting date
    private String timeZone_string;
    // Optional attribute, the name of an attribute which contains the Locale            
    private String localeRef = null;                                         
                                                                             
    // format tag invocation variables
    private TimeZone timeZone = null;
    // Date after parsing tag body
    private Date date = null;

    /**
     * Method called at start of tag, always returns EVAL_BODY_TAG
     *
     * @return EVAL_BODY_TAG
     */
    public final int doStartTag() throws JspException
    {
	return EVAL_BODY_TAG;
    }

    /**
     * Method called at end of parse tag body.
     *
     * @return SKIP_BODY
     */
    public final int doAfterBody() throws JspException
    {
	// Use the body of the tag as input for the date
	BodyContent body = getBodyContent();
	String s = body.getString().trim();  
	// Clear the body since we will output only the parseted date
	body.clearBody();

        // Get the pattern to use
        SimpleDateFormat sdf;    
        String pat = pattern; 
 
        if( pat == null && patternid != null ) {
          Object attr = pageContext.findAttribute(patternid);
          if( attr != null )    
            pat = attr.toString();
        }
        
        if( pat == null ) {
            sdf = new SimpleDateFormat(); 
            pat = sdf.toPattern();
        }

	// Get a SimpleDateFormat using locale if necessary
        if( localeRef != null ) {                          
            Locale locale = (Locale)pageContext.findAttribute(localeRef);
            if( locale == null ) {                                       
                throw new JspException(                                  
                    "datetime parse tag could not find locale for localeRef \"" +
                    localeRef + "\".");                                           
            }                                                                     
                                       
            sdf = new SimpleDateFormat(pat,locale);
        } else if( locale_flag ) {                 
            sdf = new SimpleDateFormat(pat,        
                      (Locale)pageContext.getRequest().getLocale());
        } else {                                                    
            sdf = new SimpleDateFormat(pat);                        
        }

	// See if there is a timeZone
        if( timeZone_string != null ) {
            timeZone =
                (TimeZone)pageContext.getAttribute(timeZone_string,
                                                   PageContext.SESSION_SCOPE);
	    if( timeZone == null )
                throw new JspTagException("Datetime parse tag timeZone " +
                    "script variable \"" + timeZone_string +
                    " \" does not exist");
            sdf.setTimeZone(timeZone);
        }

	// Parse the string and create the date.
	try {
            date = null;
	    date = sdf.parse(s);
	} catch(ParseException e) {
	}
	return SKIP_BODY;
    }

    /**
     * Method called at end of Tag
     *
     * @return EVAL_PAGE
     */
    public final int doEndTag() throws JspException
    {
	long time = 0;
	if( date != null )
	    time = date.getTime();
	try {
	    pageContext.getOut().write("" + time);
	} catch(Exception e) {
	    throw new JspException("IO Error: " + e.getMessage());
	}

	return EVAL_PAGE;
    }

    /**
     * Locale flag, if set to true, date format is for
     * client's preferred locale if known.
     *
     * @param boolean use users locale, true or false
     */
    public final void setLocale(boolean flag)
    {
        locale_flag = flag;
    }
 
    /**
     * Set the time zone to use when parsing date.
     *
     * Value must be the name of a <b>timeZone</b> tag script
     * variable ID.
     *
     * @param String name of timeZone to use
     */
    public final void setTimeZone(String tz)
    { 
        timeZone_string = tz;
    } 
 
    /**   
     * Set the pattern to use when parsing Date.
     *
     * @param String SimpleDateFormat style time pattern format string
     */
    public final void setPattern(String str)
    { 
        pattern = str;
    }

    /**
     * Set the pattern to use when parsing Date using a script variable
     * attribute.
     *
     * @param String name of script variable attribute id
     */
    public final void setPatternId(String str)
    {
        patternid = str;
    }

    /**
     * Provides a key to search the page context for in order to get the
     * java.util.Locale to use.
     *
     * @param String name of locale attribute to use
     */
    public void setLocaleRef(String value)
    {
        localeRef = value;
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视视频在线观看入口直接观看www| 亚洲老妇xxxxxx| 精品国产乱码91久久久久久网站| 91美女精品福利| a在线播放不卡| 99久久er热在这里只有精品15 | 亚瑟在线精品视频| 一卡二卡欧美日韩| 亚洲综合无码一区二区| 亚洲另类色综合网站| 亚洲影院久久精品| 亚洲成年人影院| 日韩国产欧美三级| 日韩福利视频导航| 精品一区二区三区日韩| 国产精品一线二线三线精华| 国产一区二区三区视频在线播放| 国产99久久久国产精品潘金网站| 国产成人免费视频网站高清观看视频 | 国产一区二区女| 99天天综合性| 欧美日本乱大交xxxxx| 欧美xxxx老人做受| 国产精品久久福利| 午夜成人在线视频| 国产曰批免费观看久久久| 国产美女av一区二区三区| 国产99久久久久| 欧美日本一区二区在线观看| 久久这里只有精品6| 国产精品妹子av| 三级一区在线视频先锋 | 成人美女视频在线观看18| 在线免费一区三区| 精品久久久影院| 亚洲日本免费电影| 国产一区在线看| 欧美日韩精品久久久| 国产色爱av资源综合区| 亚洲国产日日夜夜| 成人性生交大片| 宅男噜噜噜66一区二区66| 欧美韩日一区二区三区四区| 亚洲成人动漫一区| 99热在这里有精品免费| 欧美成人精品1314www| 一区二区三区四区精品在线视频 | 久久久久9999亚洲精品| 亚洲一区免费视频| 成人午夜又粗又硬又大| 日韩一级免费一区| 一区av在线播放| 99精品国产一区二区三区不卡| 日韩欧美色综合网站| 夜夜亚洲天天久久| 9l国产精品久久久久麻豆| 亚洲国产成人av好男人在线观看| 国产成人精品网址| 欧美不卡一区二区| 日本va欧美va欧美va精品| 欧洲一区在线电影| 亚洲品质自拍视频| youjizz国产精品| 久久在线观看免费| 久久精品av麻豆的观看方式| 欧美在线视频全部完| 亚洲人成精品久久久久久| 成人黄色av电影| 欧美极品少妇xxxxⅹ高跟鞋| 国内精品写真在线观看| 精品国产乱码久久久久久图片 | 国产一区二区福利视频| 日韩一卡二卡三卡| 美女一区二区在线观看| 欧美一区二区三区四区五区| 亚洲午夜激情av| 欧美亚洲国产bt| 亚洲第一久久影院| 欧美群妇大交群的观看方式| 亚洲国产成人av| 日韩一级片网站| 精品一区二区免费视频| 久久影音资源网| 国产白丝网站精品污在线入口| 欧美激情一区二区| 91看片淫黄大片一级在线观看| 国产精品理论片| 色婷婷综合视频在线观看| 国产精品理伦片| 欧美伊人久久久久久午夜久久久久| 亚洲一区二区三区在线播放| 欧美三级日本三级少妇99| 日本最新不卡在线| 久久久久青草大香线综合精品| 韩国精品主播一区二区在线观看| 久久精品这里都是精品| www.av精品| 亚洲尤物在线视频观看| 欧美一区二区三区电影| 国产一区久久久| 国产欧美日本一区二区三区| 成人丝袜高跟foot| 亚洲18色成人| 欧美激情一二三区| 欧美高清视频在线高清观看mv色露露十八| 日韩高清不卡一区二区三区| 久久久久久久久久美女| 色8久久精品久久久久久蜜| 日av在线不卡| 亚洲欧美日韩在线| 日韩欧美国产精品一区| 成人开心网精品视频| 天堂久久久久va久久久久| 国产日本欧美一区二区| 欧美视频在线一区| 成人免费电影视频| 免费高清视频精品| 一区二区激情小说| 精品国产麻豆免费人成网站| 99精品国产视频| 国产精品一区二区免费不卡| 亚洲一区二区三区三| 国产欧美日韩不卡| 日韩一区二区中文字幕| 欧洲精品在线观看| 成人精品国产免费网站| 蜜桃精品视频在线| 亚洲国产日日夜夜| 亚洲欧美日韩国产另类专区| 久久精品视频免费观看| 91精品国产91热久久久做人人| 粉嫩在线一区二区三区视频| 麻豆精品视频在线观看| 亚洲观看高清完整版在线观看| 国产日产欧产精品推荐色| 日韩午夜在线观看视频| 欧美女孩性生活视频| 色婷婷综合久久久久中文一区二区| 国产美女视频一区| 黄色成人免费在线| 另类欧美日韩国产在线| 日韩国产欧美在线播放| 亚洲综合成人在线视频| 国产精品白丝在线| 国产欧美日本一区视频| 国产亚洲一区二区三区四区| 精品久久久久一区| 精品粉嫩超白一线天av| 久久综合网色—综合色88| 久久综合久久久久88| 26uuu欧美日本| 精品国产乱码久久久久久牛牛| 日韩美女在线视频| 久久久精品综合| 久久精品亚洲一区二区三区浴池| 欧美v国产在线一区二区三区| 日韩一区二区在线观看视频播放| 91精品国产综合久久久蜜臀粉嫩| 欧美二区在线观看| 欧美一级二级在线观看| 精品动漫一区二区三区在线观看 | 国产激情视频一区二区三区欧美 | 一区二区三区欧美亚洲| 亚洲欧美日韩精品久久久久| 中文字幕视频一区二区三区久| 中文字幕视频一区| 亚洲电影第三页| 久草在线在线精品观看| 国产福利一区在线| 99国产精品99久久久久久| 91国偷自产一区二区使用方法| 欧美三级视频在线播放| 欧美一区二区人人喊爽| 精品国产乱码久久久久久老虎| 国产欧美精品一区| 樱花草国产18久久久久| 亚洲一区二区欧美日韩 | 欧美xxxx老人做受| 欧美激情一区二区三区| 亚洲高清免费在线| 蜜桃视频在线观看一区二区| 国产成人无遮挡在线视频| 欧洲一区二区三区在线| 精品成人免费观看| 日韩伦理免费电影| 免费视频最近日韩| 9i看片成人免费高清| 日韩欧美亚洲国产精品字幕久久久| 国产亚洲欧美激情| 亚洲成精国产精品女| 国产美女娇喘av呻吟久久| 欧美视频一区二区三区四区| 欧美成人video| 亚洲激情在线激情| 国产精品一区二区免费不卡| 欧美系列在线观看| 国产精品拍天天在线| 亚洲成年人网站在线观看| 成人av免费网站| 亚洲精品一区二区三区香蕉|