转载自:http://www.cnblogs.com/edwardlauxh/archive/2010/05/20/1918587.html

tld标签的描述文件

  标签的描述文件是一个描述整个标签库标记信息和标签库中每个标签处理器以及其属性的XML文档。可以包含如下的一些元素。

  

  1. tlibversion:标签库版本号,是一个点式十进制数(例如1.0),最多为4组小数点分隔的数字组成。

  2. jspversion:标签库所需的JSP规范最低版本,例如JSP1.1。

  3. shortname:标签库的缩写名,JSP可以使用该名字作为库中标签的缺省前缀。

  4. uri:标签库唯一URI的元素。

  5. info:标签库描述信息。

  6. tag:加入标签,描述组成库的每个标签。

  

  在tag元素中包含标签及其属性的信息:

   1. name:与标签库的名字前缀一起使用的标签的名字, 是JSP容器唯一的标签标识。

  2. tagclass:实现标签的标签处理器类的全名。

  3. teiclass:标签附加信息(TEI)类的全名,TEI类给出关于标签处理器创建变量及有效性验证的信息。

  4. bodycontent:描述标签处理器如何使用标签体的内容,有三种取值:

  l empty:表示标签体必须为空;

  l JSP:表示脚本元素和模板及其它标签一样被评估。

  l tagdependent:内容被原封不动写入BodyContent,其它脚本元素以源码形式出现,而不被JSP容器解释。

  5. info:标签的描述性信息。

  6. attribute:使用标签时被编码的属性信息,用于定义标签的属性。

  

  “attribute”元素中又可以包含下面几个元素:

  1. name:属性的名字。

  2. required:属性是否必须。

  3. rtexprvalue:属性值能否用表达式指定

      7.variable 元素

      1.name-given:变量名为常量

      2.name-from-attribute:一个属性的名字,其转换时(translation-time)值将给出属性的名字

     必须有name-given或者name-from-attribute之中的一个。下列子元素是可选的

      3.variable-class—变量的完全限定名。默认为java.lang.String。

      4.declare—变量是否引用新对象。默认为True。

      5.scope—定义的脚本变量的作用域。默�%A���NESTED如下表格:

  

可用性 方法
NESTED 开始和结束标签之间 在实现BodyTag的标签handler的doInitBody 和doAfterBody方法中,否则,在 doStartTag中
AT_BEGIN 从开始标签到页面的结束 在实现BodyTag�%�6��签handler的doInitBody 和doAfterBody方法中,否则,在 doStartTag和doEndTag中

AT_END

在结束标签之后直到页面的结束 在doEndTag中

在function元素中包含标签及其属性的信息:

1. name:与标签库的名字前缀一起使用的标签的名字, 是JSP容器唯一的标签标识。

2. function-class:实现标签的标签处理器类的全名。

3. function-signature:指定标签库中所使用的方法,与类中的方法名称返回值必须相同,必须为全名 。

JSP自定义标签各种方法的返回值.

EVAL_BODY_INCLUDE:把BODY读入存在的输出流中,doStartTag()函数可用。
EVAL_PAGE:继续处理页面,doEndTag()函数可用。
SKIP_BODY:忽略对BODY的处理,doStartTag()和doAfterBody()函数可用。
SKIP_PAGE:忽略对余下函数的处理,doEndTag()函数可用。
EVAL_BODY_TAG:已经废止,由EVAL_BODY_BUFFERED取代。
EVAL_BODY_BUFFERED:申请缓冲区,由setBodyContent()函数得到的BodyContent对象来处理tag的Body,如果类实现了BodyTag,那么doStartTag()可用,否则非法。

另外一种网上的说法是:

SKIP_BODY : 跳过了开始和结束标签之间的代码,一般是在doStartTag中使用,不处理标签体,直接调用 doEndTagO方法。
EVAL_BODY_INCLUDE :处理嵌套的标签,一般是在doStartTag中使用,由负责处理标签正文的tag接口提供
EVAL_BODY_BUFFERED :对包含的内容进�A1�解析 一般是在doStartTag中使用,由负责处理标签正文的bodyTag接口提供,目的是通知jsp容器作好读取正文的工作(创建一个body-content包装正文和获取存放操作结果的out对象,便于以后的操作和输出).
EVAL_BODY_AGAIN:处理标签正文, 对标签体循环处理。嵌套标签的iteratorTag接口的使用
SKIP_PAGE :忽略标签后面的 JSP 页面,一般是在doEndTag中使用
EVAL_PAGE :处理标签结束,直接处理页面内容。继续执行下面的页, 一般是在doEndTag中使用
%�C/pre>

在web.xml中定义taglib地址

<jsp-config>

<!--定义标签库-->

<taglib>

<!--确定标签库的URI-->

<taglib-uri>http://lauedward.spaces.live.com/</taglib-uri>

<!-- 确定标签库定义文件的位置 -->

<taglib-location>/WEB-INF/test.tld</taglib-location>

</taglib>

</jsp-config>

如果不设定这个的话也可以直接在jsp中直接引用本地路径tld的地址即可调用

至此,taglib相关的教程就暂告一段落了.

  

【转】JSP自定义标签的更多相关文章

  1. JSP 自定义标签

    0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...

  2. JSP自定义标签开发入门

    一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...

  3. 一个简单的jsp自定义标签

    学到了一个简单的jsp自定义标签,后面有更多的例子,会更新出来: 例子1: 步骤: 1.编写标签实现类: 继承javax.servlet.jsp.tagext.SimpleTagSupport; 重写 ...

  4. jsp自定义标签分析

    jsp自定义标签的优势体现在于jsp页面上面减少了java代码. jsp自定义标签有三大部分组成,首先是类继承TagSupport,实现doStartTag方法. public int doStart ...

  5. JSP自定义标签库

    总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet ...

  6. JSP自定义标签配置

    JSP自定义标签配置 JSP自定义标签 <taglib>         <taglib-uri>/WEB-INF/you.tld</taglib-uri>     ...

  7. jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一 ...

  8. java JSP自定义标签

    来至: http://blog.csdn.net/jiangwei0910410003/article/details/23915373 http://blog.csdn.net/jiangwei09 ...

  9. JSP自定义标签开发入门《转》

    JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; ...

  10. 报错分析---->jsp自定义标签:类cannot be resolved to a type

    这个困扰我一个晚上,仔细上网查阅发现,主要是因为jsp自定义标签要用到的这个jsp-api.jar的问题 这是我eclipes中的jar: 然而jsp-api.jar这个jar在tomcat中也有(报 ...

随机推荐

  1. JSONP跨域jQuery处理整理(附天气数据实例)

    写在前面 跨域的解决方案有多种,其中最常见的是使用同一服务器下的代理来获取远端数据,再通过ajax进行读取,而在这期间经过了两次请求过程,使得获取数据的效率大大降低,这篇文章蓝飞就为大家介绍一下解决跨 ...

  2. shell 中的expect 用法

    expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...

  3. Android之ViewPager 第二课

    在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.andr ...

  4. Delphi GetCurrentDir 获取当前文件夹

    //获取当前文件夹 GetCurrentDirvardir: string;begindir := GetCurrentDir;ShowMessage(dir); //C:\Documents and ...

  5. DELPHI控件属性事件说明

    常用DELPHI控件属性事件设置说明 常用DELPHI控件属性设置说明目录TForm Class TPanel组件 TToolBar Class TToolButton Class TTimer Cl ...

  6. [NOI2010]能量采集 解题报告

    [NOI2010]能量采集 题目描述 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. ...

  7. CentOS 7, Attempting to create directory /root/perl5

    By francis_hao    Apr 10,2017 在使用CentOS 7的时候,首次登陆会出现新建一个perl5文件夹的提示,删除该文件后,之后登陆还是会出现该提示并新建了perl5文件夹. ...

  8. git使用笔记(八)团队协作

    By francis_hao    Nov 24,2016       本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可.欢迎转载,请注明出处 ...

  9. 洛谷P1346 电车

    P1346 电车 236通过 757提交 题目提供者yeszy 标签图论福建省历届夏令营 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 解不好啊,快疯了!!哪位大… 求解:为何除了-1的点之 ...

  10. mysql__视图

    视图 1.什么是视图 视图是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的.视图并不是在数据库中实际存在的,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的 视图相对于普通 ...