【Java.Web】JSP —— 标签库taglib —— 自定义JSP标签 —— 标签库描述文件 TLD,发布

原创 2014年10月06日 15:41:59

标签库描述文件

标签库描述文件(Tag Library Descriptor, TLD),采用XML文件格式,对标签库及库中的标签做了描述。


TLD文件中的元素可以分为3类,

  • <taglib> —— 标签库元素
  • <tag> —— 标签元素
  • <attribute> —— 标签属性元素


标签库元素 <taglib>

标签库元素<taglib>用来设定标签库的相关信息,它的子元素如下:

  • tlib-version —— 指定标签库的版本
  • jsp-version —— 指定JSP的版本
  • short-name —— 指定标签库默认的前缀名prefix
  • uri —— 设定标签库的唯一访问标识符
  • info —— 设定标签库的说明信息


标签元素 <tag>

标签元素<tag>元素用来定义一个标签,它的子元素如下:

  • name —— 设定标签的名字
  • tag-class —— 设定Tag的处理类
  • body-content —— 设定标签主体的类型
  • info —— 设定标签的说明信息


<body-content>子元素用于设定标签主体的类型,可选值包括:

  • empty —— 标签主体为空
  • scriptless —— 标签主体不为空,并且包括JSP的EL表达式和动作元素,但不能包含JSP的脚本元素。(动作元素指<jsp:include><jsp:forward>等action,脚本元素指<%! %>, <%% >, <%= %>这3种)
  • jsp —— 标签主体不为空,并且包含JSP代码。在JSP代码中可包含EL表达式,动作元素和脚本元素
  • tagdependant —— 标签主体不为空,并且标签主体内容由标签处理类来解析和处理。标签主体的所有代码都会原封不动地传给便签处理类,而不是把标签主体的执行结果传给标签处理类


标签属性元素 <attribute>

用来描述标签的属性,<attribute>元素的子元素如下:

  • name —— 属性名称
  • required —— 属性是否是必须的,默认为false
  • rtexprvalue _—— 属性值是否可以为基于“<%=  %>”形式的Java表达式或EL表达式;若为false,只能为普通的字符串;(runtime expression value)


标签库描述文件示例

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.1" xmlns:xml="http://www.w3.org/XML/1998/namespace" 
	                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	                  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd ">
  <tlib-version>1.1</tlib-version>
  <jsp-version>2.1</jsp-version>
  <short-name>mytaglib</short-name>
  <uri>/mytaglib</uri>
  
  <tag>
      	<name>message</name>
      	<tag-class>com.gof.test.taglib.MessageTag</tag-class>
      	<body-content>empty</body-content>
      	<attribute>
      		<name>key</name>
      		<required>true</required>
      	</attribute>
  </tag>

</taglib>


发布标签库,注册TLD

假设我们在WEB-IN/下添加一个tld文件mytablig.tld文件:

在web.xml中:

<!-- taglib configuration -->  
<jsp-config>  
    <taglib>  
        <taglib-uri>/mytaglib</taglib-uri>  
        <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>  
    </taglib>  
</jsp-config> 

在应用的JSP文件中:

*.jsp

<%@ taglib uri="/mytaglib" prefix="mm" %>  


uri的值应该与tld描述文件中的值保持一致


如果使用第三方开发的标签库,请参见 使用第三方标签库 一节。








java web taglib自定义标签的练习

整理了一下以前的练习,把jsp tag的练习记录一下: 新建mytag.tld:放置在web-inf下面: 1.0 1.1 displayDate c...
  • zyujie
  • zyujie
  • 2013年03月29日 11:27
  • 8098

自定义标签 (Taglib) 续一

自定义标签  (Taglib) :      可重用的标签可处理复杂的逻辑运算和事务,或定义jsp网页的输出内容和格式 自定义标签所涉及到的接口与类的层次结构 创建客户化...
  • hzc543806053
  • hzc543806053
  • 2012年04月16日 19:07
  • 4144

JSP自定义标记taglib学习笔记

一、什么是Taglib? 标记库(tag library),是指由在JSP页面中使用的标记所组成的库。JSP容器推出时带有一个小型的、默认的标记库。而自定义标记库是为了某种特定的用途或者目的,将一些...
  • wiinder
  • wiinder
  • 2016年03月20日 22:23
  • 2693

Jsp 应用之自定义标签库(taglib)及配置

前段时间看到关于taglib的一些应用,感觉很神秘,刚开始的时候还弄不明白taglib到底有什么作用,在图书馆查了几次资料,终于搞明白了,今天学习taglib的编写及配置,现在写出今天学习的总结。ta...
  • joliny
  • joliny
  • 2007年09月19日 16:14
  • 2580

taglib 标签库分析

标签库第一次听的时候感觉没什么,html就是标签语言,里面有的是标签。 后来接触struct的自定义标签才知道它的始末,html里面的是标签没错,直接拿过来就能使用,但是后台怎么处理的知道吗?自定义...
  • pangxiaofu
  • pangxiaofu
  • 2015年04月12日 16:21
  • 728

jsp的taglib指令用法

Taglib 指令是定义一个标签库以及其自定义标签的前缀.。 需要导入standard.jar jsp-api.jar 两个包 下载地址prefix 是一个标签库别名 taglib的uri ...
  • q601115211
  • q601115211
  • 2017年01月11日 07:33
  • 9354

JSP中的taglib标签如何让JSP页面使用标签

taglib指令的作用是在JSP页面中,将标签库描述符文件引入到该页面中,并设置前缀,而去利用标签的前缀去使用标签库表述文件中的标签。 就用个例子具体说一下步骤。 例如要创建一个自定义标签: ...
  • hry1243916844
  • hry1243916844
  • 2017年04月24日 21:28
  • 1417

JSP页面中实现使用taglib导入库时自动提示(JSTL 库安装)

默认情况下,taglib导入标签库uri时,没有提示如下图:所以我们需要导入安装jstl标签 JSTL 库安装 Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中...
  • baidu_37107022
  • baidu_37107022
  • 2017年05月24日 17:01
  • 1666

jsp中的taglib

. JSP中使用Taglib          标准的JSP标记可以调用JavaBeans组件或者执行客户的请求,这大大降低了JSP开发的复杂度和维护量。JSP技术也允许你自定义的taglib,其...
  • u011513323
  • u011513323
  • 2014年07月29日 15:48
  • 8588

标签库描述文件TLD

1、标签库描述文件,简称TLD,采用XML文件格式,定义了用户的标签库。TLD文件中的元素可以分成3类: A.标签库元素 B.标签元素 C.标签属性元素 2、标签库元素用来设定标签库的相...
  • lanjie_gunger
  • lanjie_gunger
  • 2016年03月03日 16:04
  • 815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Java.Web】JSP —— 标签库taglib —— 自定义JSP标签 —— 标签库描述文件 TLD,发布
举报原因:
原因补充:

(最多只允许输入30个字)