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

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

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

    愚僧

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

    BlogJava 首頁 新隨筆 聯(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 對應(yīng) -->
        <uri>http://www.customtag.com/custom_tag</uri>
        <!-- 定義一個標(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>
                <!-- 是否允許使用表達式(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)簽測試 : 
            <br>
            <ct:date/><br/>
            <ct:date format="MM/dd/yyyy"/><br/>
            <ct:date format="yyyy年MM月dd日 HH時mm分ss秒" value="<%=new Date().getTime() %>"/><br/>
        </body>
    </html>

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

    主站蜘蛛池模板: 亚洲国产人成中文幕一级二级| 久久亚洲精品无码aⅴ大香| 日韩免费视频一区| 亚洲男人的天堂www| 亚洲人成77777在线观看网| 免费播放在线日本感人片| 永久免费看mv网站入口| 亚洲综合激情六月婷婷在线观看| 黄色三级三级三级免费看| 2019中文字幕免费电影在线播放| 亚洲人妻av伦理| 亚洲欧美日韩中文二区| 91精品视频在线免费观看| 伊人久久大香线蕉亚洲| 日韩国产欧美亚洲v片| 69天堂人成无码麻豆免费视频| 亚洲人成人一区二区三区| 免费国产99久久久香蕉| 亚洲精品亚洲人成在线观看下载 | 美女视频黄频a免费大全视频| 国产成人aaa在线视频免费观看| 久久久无码精品亚洲日韩按摩| 国产久爱免费精品视频| 四虎影在线永久免费观看| 亚洲天堂免费在线| 波多野结衣免费在线观看| 亚洲av无码成人精品国产| 亚洲欧洲精品成人久久奇米网| 欧洲精品99毛片免费高清观看| 亚洲无av在线中文字幕| 7m凹凸精品分类大全免费| 亚洲日韩一区二区三区| 亚洲综合图色40p| 国产成人免费网站| 亚洲性线免费观看视频成熟 | 国产av无码专区亚洲av桃花庵 | 永久免费av无码入口国语片| 亚洲av成人综合网| 成年免费大片黄在线观看岛国| 亚洲精品国产首次亮相| 日本二区免费一片黄2019|