Welcome

首页 / 网页编程 / JSP / JSP/Servlet/JSF--对标签库的深入研究

JSP/Servlet/JSF--对标签库的深入研究2011-08-21标签库Taglib

标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:

1.标签处理器:实现定制标签功能的Java类。

2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类。

3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档。

标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定 的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。TLD必须是/META- INF目录中名为taglib.tld的文件,JAR文件则复制到/WEB-INF/lib目录下。

一、标签实现

1.开发步骤

a.定义标签的名字、属性、声明的变量和标签体的内容。

b.编写标签库描述器TLD。

c.编写标签处理器。

d.在JSP页面中使用标签。

2.JSP页面在JSP容器中的转换步骤:

JSP页面存在三种形式:jsp文件、java文件和class文件。

a.指令元素、和向JSP容器提供转换时信息。

b.HTML行在_jspService()方法中依顺序转换到out.print()语名中。

c.脚本元素的声明被原封不动地复制到_jspService()方法外的源码中。

d.脚本元素的表达式在_jspService()方法中依顺序转换到out.print()语名中。

e.脚本元素的Scriptlet被原封不动地复制到_jspService()方法中。

f.行为元素被转换为执行其功能的运行时逻辑代码。

g.定制标签被扩展到调用其相应标签处理器中方法的Java语句中。

3.标签在JSP容器中的转换步骤:

a.JSP容器使用taglib指令元素定位标签库描述器,将页面中用到的定制标签和TLD相匹配。

b.读取标签库描述器的标签列表和每一标签相关的类名字。

c.在页面中遇到一个标签时,查找与具有指定名字的标签前缀相关的一个标签库。

d.容器使用在TLD中找到的标签结构信息生成一系列完成标签功能的Java语句。