JSP自定义标签基础


自定义标签:就是程序员定义的一宗好难过JSP标签,这种标签把那些信息显示逻辑封装在一个单独的Java类中,通过一个xml文件来描述它的使用。当页面中需要使用类似的显示逻辑时,就可以在页面中插入这个标签,从而完成响应的功能。

执行过程:

当一个含有自定义标签的JSP页面被JSP引擎(web容器)转移称Servlet时,JSP引擎遇到自定义的标签,会把这个自定义标签转换成对一个成为“标签处理类”的调用。之后,当这个JSP页面被执行时,jsp引擎就会调用这个“标签处理类”对象,并执行其内部定义的响应操作方法,从而完成响应的功能

自定义标签的开发流程:

(1)               创建变迁的处理类,这个类用来定义标签的行为,并在jsp引擎遇到自定义标签时调用执行。标签处理累是一个Java类,这个类只需要继承了jsp标签API中提供的接口或类就可以很简单的实现自定义jsp标签的具体功能

(2)               创建标签库描述文件。这个文件是描述标签库的xml文档,他描述了标签库中每个标签的属性详细信息,向jsp引擎提供有关自定义标签的标签处理程序的信息

(3)               在web.xml文件中声明tld的文职

(4)               在jsp文件中用taglib指令引入标签库,然后使用标签库描述文件中指定的标签名来使用它

Jsp标签API:

     Jsp的标签扩展机制,即继承或实现一组jsp标签API提供的类或接口。这组类和接口放置在javax.servlet.jsp.tagext包中

     Jsp1.1和1.2规范中常用的接口主要有一下3个:

(1)Tag:此接口定义对于所有标签处理累都需要实现的方法

(2)IterationTag:此接口扩展了Tag接口,增加了控制重复执行标签主体的方法

(3)BodyTag:此接口扩展了IterationTag接口,并增加了访问和操作标签主题内容的方法

标签库描述符:

     当jsp容器处理一个页面时,他会将页面中的自定义标签转换成Java代码,这些代码创建和调用适当的类。为此,就需要一些信息,如那个标签处理类实现了那个自定义标签,这个标签处理累需要从页面获取几个属性值,属性的名,类型是什么等,这些信息将用标签库描述符文件来描述,简称tld文件

标签库描述符文件是一个以“.tld”结尾的标准xml文档,用来记录一个标签库内拥有哪些标签、每个标签包含哪些属性。去的这些信息后,jsp容器才能正确处理并运行jsp所包含的自定义标签


你可能感兴趣的:(JSP自定义标签基础)