JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库

上传人:E**** 文档编号:89347910 上传时间:2019-05-23 格式:PPT 页数:23 大小:85KB
返回 下载 相关 举报
JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库_第1页
第1页 / 共23页
JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库_第2页
第2页 / 共23页
JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库_第3页
第3页 / 共23页
JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库_第4页
第4页 / 共23页
JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库》由会员分享,可在线阅读,更多相关《JSP应用与开发技术 教学课件 ppt 作者 978-7-302-24762-3 第15章 自定义标签库(23页珍藏版)》请在金锄头文库上搜索。

1、第15章 自定义标签库,自定义标签实际上是一个实现了特定接口的Java类,类定义了执行该标签操作的具体逻辑。然后再定义标签库描述文件,并把该文件导入到Web部署描述符中,该文件定义了一组标签与标签类的对应关系。最后就可以在JSP页面中导入并使用自定义的标签。在运行时,标签将被相应的代码所替换。标签的集合构成了标签库。,15.1自定义标签体系介绍,标签库API定义在javax.servlet.jsp.tagext包中,其中主要接口和类如图15-1所示。,15.1.1标签的形式,自定义标签四种形式: 空标签 带有属性的空标签 带有内容的标签 JSP 程序设计 带有内容和属性的标签 JSP 程序设计

2、 ,15.1.2标签类相关接口和类,1.Tag接口 javax.servlet.jsp.tagext.Tag接口定义了所有的传统标签处理器需要实现的基本方法。Tag接口中的方法如表15-1所示,Tag接口中定义的常量如表15-2所示。,传统标签的生命周期如图15-2所示,2.IterationTag接口 javax.servlet.jsp.tagext.IterationTag接口继承自Tag接口,它新增了一个方法和一个用做返回值的常量,主要用于控制对标签体的重复处理。新增的方法和常量如表15-3所示。,3.BodyTag接口 javax.servlet.jsp.tagext.BodyTag接

3、口继承自IterationTag接口,它新增了两个方法和一个用做返回值的常量。实现该接口的标签处理器可以在其内部对标签体执行后的内容进行处理。新增的方法和常量如表15-4所示。,实现BodyTag接口的标签处理器的生命周期,如图15-3所示。,15.1.3 标签库描述文件,标签库描述文件定义了标签与标签类的对应关系,它是.XML格式的文档,简称TLD。TLD包含库的所有信息及库中的每个标签,TLD文件以扩展名.tld为后缀。当标签库部署在JAR文件中时,标签库描述文件必须放在META-INF目录或其子目录下;当标签库直接部署到Web应用程序中时,标签库描述文件必须放在WEB-INF目录或其子目

4、录下,但不能放在/WEB-INF/classes或/WEB-INF/lib目录下,15.1.4 在Web部署描述符中引入标签库文件,容器在解析页面中的自定义标签的时候会到Web部署描述符中寻找该标签库的TLD文件,因此需要在web.xml把标签库文件引入 在web.xml的根元素下通过元素指定要引入的标签库。一个标签库对应一个元素,对于一个应用来说可以存在多个标签库。其中元素指定在JSP页面中使用的自定义标签的URI名字,JSP页面通过此名字在JSP指令引入自定义标签;元素指定了该名字所对应的TLD文件存放的位置。,15.1.6 标签在Web页面里的作用,自定义标签其实也是一个类,它封装了相应

5、的逻辑功能,和JavaBean很类似,但是它们之间存在很大的区别:JavaBean通过提供接口供外部操作调用实现逻辑功能,而自定义标签是通过标签的形式为外部操作实现逻辑功能,15.2 传统标签的开发,15.2.1带属性标签的开发,第一步:编写标签处理类 第二步:在TLD文件MyTaglib.tld中配置标签 第三步:在web.xml文件中配置标签库信息 第四步:编写测试页面attitudeTag.jsp,15.2.2 带Body标签的开发,BodyTag有一个实现类BodyTagSupport,开发带标签体的自定义标签时,直接继承类BodyTagSupport。 第一步:编写BodyTag.j

6、ava 第二步:在TLD文件中配置标签 第三步:在web.xml文件中配置标签库信息。 第四步:编写测试页面,15.2.3 嵌套标签的开发,程序开发中,常常需要多个标签嵌套完成一个任务,这样标签就存在父子关系。,【例15-5】下面我们来开发这三个标签,其中为父标签,和为子标签。 第一步:开发标签三个处理器类SwitchTag.java、CaseTag.java和DefaultTag.java SwitchTag.java 第二步:在TLD文件MyTaglib.tld中配置、和标签 第三步:在web.xml文件中配置标签库信息。 第四步:编写测试页面switchTag.jsp,15.2.4迭代标

7、签的开发,在程序开发中迭代输出集合中的元素是经常的操作。 在迭代标签类的doAfterBody()方法根据不同的情况返回EVAL_BODY_BUFFERED或SKIP_BODY常量,以通知JSP容器是继续循环解析标签body部分还是往下运行。,【例15-6】下面通过标签为大家进一步展示迭代标签的开发过程。这个标签的主要目的是遍历HashMap中的所有key-value对,并输出其value值。标签有两个属性,map表示要遍历的Map对象,element表示每次迭代当前value值存放在page范围中的名称,这个名称在标签body中会使用. 第一步:编写标签处理器IteratorTag.java

8、 第二步:在TLD文件MyTaglib.tld中配置标签 第三步:在web.xml文件中配置标签库信息。 第四步:编写测试页面iterateTag.jsp,15.3 Simple标签的开发,为了简化标签的开发,在JSP 2.0的规范里,新定义了一种简单类型标签,这种标签响应的接口是SimpleTag,SimpleTag有个实现类javax.servlet.jsp.tagext.SimpleTagSupport,简单标签的标签类都继承于这个实现类,该标签类有没有繁多的doStartTag()和doEndTag()等方法,只有一个doTag()方法,在这个方法里面即可进行相应的业务逻辑处理,15.3.1 SimpleTag接口,javax.servlet.jsp.tagext.SimpleTag接口是用来定义简单标记处理程序的接口,该接口定义了5个方法,详细如表15-8所示。,实现了SimpleTag接口的标签处理器的生命周期如图15-9所示,15.3.2 Simple标签的开发示例,【例15-7】我们从HelloWorld标签开始。标签类需要实现SimpleTag接口。 第一步:编写HelloSimpleTag.java 第二步:在TLD文件MyTaglib.tld中配置标签 第三步:在web.xml文件中配置标签库信息。 第四步:编写测试页面iterateTag.jsp,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号