<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    愚僧

    贏與輸?shù)牟顒e通常是--不放棄

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      23 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

    2013年3月4日 #



    步驟:
    1. 定義tld標(biāo)簽描述文件
    2. 新建class繼承SimpleTagSupport或者BodyTagSupport
    3. taglib命令聲明
    4. 使用自定義標(biāo)簽

    1. 定義tld標(biāo)簽描述文件custom_tag.tld
    <?xml version="1.0" encoding="UTF-8"?>
    <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version
    ="2.0">
        <description>JSTL 1.1 core library</description>
        <display-name>JSTL core</display-name>
        <tlib-version>1.1</tlib-version>
        <short-name>ct</short-name>
        <!-- 與 taglib 的 uri 對(duì)應(yīng) -->
        <uri>http://www.customtag.com/custom_tag</uri>
        <!-- 定義一個(gè)標(biāo)簽 -->
        <tag>
            <!-- 標(biāo)簽的名稱 -->
            <name>date</name>
            <!-- 標(biāo)簽類 -->
            <tag-class>com.customtag.tags.DateTag</tag-class>
            <!-- 標(biāo)簽體 -->
            <body-content>empty</body-content>
            <attribute>
                <!-- 屬性名稱 -->
                <name>format</name>
                <!-- 是否必選 true:必選 -->
                <required>false</required>
                <!-- 是否允許使用表達(dá)式(EL), false:不能使用 -->
                <rtexprvalue>false</rtexprvalue>
            </attribute>
            <attribute>
                <name>value</name>
                <required>false</required>
                <rtexprvalue>true</rtexprvalue>
            </attribute>
        </tag>
    </taglib>
    注:
    可參考jstl-[version].jar中META-INF下的c.tld文件

    2. 新建DateTag繼承SimpleTagSupport或者BodyTagSupport
    package com.customtag.tags;

    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.PageContext;
    import javax.servlet.jsp.tagext.SimpleTagSupport;

    public class DateTag extends SimpleTagSupport {
        
        @Override
        public void doTag() throws JspException, IOException {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            PageContext pc = (PageContext) getJspContext();
            JspWriter out = pc.getOut();
            try{
                if(null != this.getValue()){
                    out.print(sdf.format(new Date(this.getValue())));
                }else{
                    out.print(sdf.format(new Date()));
                }
            }catch(IOException e){
                throw e;
            }catch(Exception e){
                out.print("");
            }
        }
        
        private String format="yyyy-MM-dd HH:mm:ss";
        
        private Long value = null;
        
        public String getFormat() {
            return format;
        }

        public void setFormat(String format) {
            this.format = format;
        }

        public Long getValue() {
            return value;
        }

        public void setValue(Long value) {
            this.value = value;
        }
        
    }

    3. taglib命令聲明
    <%@taglib prefix="ct" uri="http://www.customtag.com/custom_tag"%>

    4. 使用自定義標(biāo)簽
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
        
    String path = request.getContextPath();
        
    String basePath = request.getScheme() + "://"
                
    + request.getServerName() + ":" + request.getServerPort()
                
    + path + "/";
    %>
    <%@taglib prefix="ct" uri="http://www.customtag.com/custom_tag"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <base href="<%=basePath%>">

            <title>My JSP 'index.jsp' starting page</title>
            <meta http-equiv="pragma" content="no-cache">
            <meta http-equiv="cache-control" content="no-cache">
            <meta http-equiv="expires" content="0">
            <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
            <meta http-equiv="description" content="This is my page">
            <!--
            <link rel="stylesheet" type="text/css" href="styles.css">
            
    -->
        </head>

        <body>
            自定義標(biāo)簽測(cè)試 : 
            <br>
            <ct:date/><br/>
            <ct:date format="MM/dd/yyyy"/><br/>
            <ct:date format="yyyy年MM月dd日 HH時(shí)mm分ss秒" value="<%=new Date().getTime() %>"/><br/>
        </body>
    </html>

    [運(yùn)行結(jié)果]
    自定義標(biāo)簽測(cè)試:
    2013-03-04 16:18:29
    03/04/2013
    2013年03月04日 16時(shí)18分29秒
    posted @ 2013-03-04 16:35 ywm 閱讀(127) | 評(píng)論 (0)編輯 收藏

    主站蜘蛛池模板: a级毛片免费高清视频| 亚洲国产精品成人精品小说| 亚洲jizzjizz少妇| 国内免费高清在线观看| 97亚洲熟妇自偷自拍另类图片| 国精产品一区一区三区免费视频| 亚洲色婷婷综合开心网| 51午夜精品免费视频| 九月丁香婷婷亚洲综合色| 午夜精品免费在线观看| 亚洲精品美女久久久久| 无码日韩人妻av一区免费| 亚洲人成网站色7799| 免费看国产一级片| 中国毛片免费观看| 亚洲欧洲日韩在线电影| 免费羞羞视频网站| 一区二区在线免费视频| 亚洲AV无码欧洲AV无码网站| 18pao国产成视频永久免费| 亚洲综合小说另类图片动图| 国产美女做a免费视频软件| 国产免费内射又粗又爽密桃视频| 亚洲成a人片在线观看无码| 4399好看日本在线电影免费| 亚洲真人无码永久在线观看| 亚洲AV无码之日韩精品| 日本高清高色视频免费| 中文字幕亚洲精品无码| 亚洲日韩中文字幕日韩在线| 日本免费一区二区三区| 亚洲精品伊人久久久久| 亚洲国产精品激情在线观看| 99re热精品视频国产免费| 亚洲国产精品无码久久九九大片| 国产av无码专区亚洲国产精品| 久久成人免费电影| 国产亚洲精品AAAA片APP| 日韩亚洲欧洲在线com91tv| 成人五级毛片免费播放| 手机看片国产免费永久|