• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp 定制标签(Custom Tag)
    怎样自己定制标签(Custom Tag)
    (整理的学习笔记)
    步骤1、创建一个Tag handler class(标记处理器类)
    package javax.servlet.jsp.tagext
    开发空Body的标签处理器类----->1)implements Tag 2)extends TagSupport
    空Body的标签处理器类需要覆盖方法:
    doStartTag()
    返回值:Tag.SKIP_BODY
    doEndTag()
    返回值:
    1)Tag.EVAL_PAGE:让标签下面的内容继续执行
    2)Tag.SKIP_PAGE:让标签下面的内容不执行
    开发带Body的标签处理器类----->1)implements BodyTag 2)extends BodyTagSupport
    带Body的标签处理器类需要覆盖方法
    doStartTag()
    返回值:
    BodyTag.SKIP_BODY:执行后直接调用doEndTag()方法
    BodyTag.EVAL_BODY_INCLUDE:执行后直接调用doAfterBody()方法
    BodyTag.EVAL_BODY_BUFFERED:
    doEndTag()
    返回值:
    BodyTag.EVAL_PAGE:标签下面的内容继续执行
    BodyTag.SKIP_PAGE:标签下面的内容不执行
    doAfterBody()
    返回值:
    BodyTag.SKIP_BODY:执行后调用doEngTag()方法
    BodyTag.EVAL_BODY_AGAIN:执行后调用doAfterBody()方法
    步骤2、创建一个tld文件(tag library descriptor)
    一个XML格式的文件,用于对标记进行描述
    通常放在WEB-INF目录下 (/WEB-INF/*.tld)
    abc.tld
    ?xml version="1.0" encoding="UTF-8" ?>
    !DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    !-- template test -->
    taglib>
    tlib-version>1.0/tlib-version>
    jsp-version>1.2/jsp-version>
    short-name>tagSample/short-name>
    uri>/tagSample/uri>
    description>A blank tag library template./description>
    tag>
    name>welcome/name>
    tag-class>tagapp.HelloTag/tag-class>
    body-content>empty/body-content>
    display-name>my first tag/display-name>
    small-icon> /small-icon>
    large-icon> /large-icon>
    description> /description>
    attribute>
    name>name/name>
    required>true/required>
    rtexprvalue>true/rtexprvalue>
    type>java.lang.String/type>
    /attribute>
    /tag>
    /taglib>
    步骤3.创建一个JSP文件
    %@taglib uri="[tld_url]" prefix=""%>
    %@taglib uri="/WEB-INF/abc.tld" prefix="mike"%>
    ...
    mike:welcome name=""/>
    uri的值可以是:
    A、/WEB-INF/mytag.tld -----> uri="/WEB-INF/mytag.tld"
    B、tld文件中 uri>/tagSample/uri> ------> uri="/tagSample"
    C、利用web.xml文件映射tld文件与taglib-uri的值 -----> uri="/abc"
    taglib>
    taglib-uri>/abc/taglib-uri>
    taglib-location>/WEB-INF/mytag.tld/taglib-location>
    /taglib>
    带Body的标签处理器类的方法的注释:
    doStartTag()
    return value: SKIP_BODY 空BODY标记
    EVAL_BODY_INCLUDE 带BODY标记,执行流程进入doAfterBody
    EVAL_BODY_BUFFERED 带BODY标记,执行流程进入setBodyContent
    doEndTag()
    return value: SKIP_PAGE 忽略标记后剩余的JSP内容
    EVAL_PAGE 继续执行标记后剩余的JSP内容
    doAfterBody()
    return value: SKIP_BODY 结束doAfterBody()方法,流程进入doEndTag()
    EVAL_BODY_AGAIN 继续执行doAfterBody()方法
    SimpleTagSupport
    较好的练习题:
    一、
    1、模仿jstl标签库开发下列标签:
    1)sql:setDataSource>
    属性有:
    driver:必须的,可以用表达式
    url;必须的,可以用表达式
    user:必须的,可以用表达式
    password:必须的,可以用表达式
    2)sql:query>
    属性有:
    dataSource:必须的,可以用表达式
    sql:必须的,可以用表达式
    3)sql:update>
    属性有:
    dataSource:必须的,可以用表达式
    sql:必须的,可以用表达式
    2、开发类似于c:forEach>的标签,可以遍历一个集合对象(可选,如不能完成,可直接利用jstl的标签来完成)
    您可能感兴趣的文章:
    • JSP自定义分页标签TAG全过程
    • JSP自定义标签Taglib实现过程重点总结
    • JS 创建对象(常见的几种方法)
    • JavaScript 三种创建对象的方法
    • Js动态创建div
    • js实现创建删除html元素小结
    • js 用CreateElement动态创建标签示例
    • javascript转换字符串为dom对象(字符串动态创建dom)
    • JS动态创建DOM元素的方法
    • JS中动态创建元素的三种方法总结(推荐)
    • 浅析JS动态创建元素【两种方法】
    • JS创建Tag标签的方法详解
    上一篇:hibernate中的增删改查实现代码
    下一篇:jsp基础速成精华讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp 定制标签(Custom Tag) jsp,定制,标签,Custom,Tag,jsp,