- 13
- 0
- 约5.92千字
- 约 25页
- 2018-06-06 发布于河北
- 举报
7.自定义标签
自定义标签 标签发展史 Tag概念 几种典型标签 Tag概念 开发使用自定义标签的步骤 创建标签处理类 实现标签处理类 创建标签库.tld文件 .tld标签库描述文件文件详解: 使用标签 为标签添加属性和主体 为标签添加属性和主体 为标签添加属性和主体 处理Body的自定义标签 处理Body的自定义标签 自定义一个迭代标签 自定义一个迭代标签 自定义一个迭代标签 自定义一个迭代标签 SimpleTag的开发 SimpleTag的开发 SimpleTag的开发 总结 * * 标签(Tag)概念 几种典型标签 创建自定义标签 实现标签处理类 创建标签库 使用标签 处理Body的自定义标签 SimpleTag的开发 首先我们回顾一下标签库的历史: 整个问题从JSP到来甚至之前就有了,我们大量的HTML和Java代码混杂在一起,导致页面显示逻辑和业务逻辑较差,代码可读性较差,维护难度增加,不易拓展,不利分工。 在这种状况,Sun提出了JSP开发的两种模式,Model I模式和Model II模式——不过与其说是Sun提出的,倒不如说是由我们勤劳的程序员总结,Sun通过自己的旗号来正名和推广的。 从Model I模式进入到Model II模式,虽然从JSP中分离出了业务逻辑代码,但是页面中仍然存在一些用于实现表现逻辑以及访问模型数据的Java脚本代码,为彻底从JSP中剥离Java,Sun又推出了自定义标签技术。 自定义标签本质上就是一个实现了特定接口的类,封装了我们的动作,运行时用标签替代这些动作。使用这些标签,就代表执行某些动作。 随后Sun制定了一条标签库的规范,就是我们之前的JSTL。 然而在实践中,很多Web框架都提供了自己的标签库,比如Struts。 Tag: 标签库(Tag library): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。 由于标签是XML元素,所以它的名称和属性都是大小写敏感的。 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。 有属性有主体 有属性无主体 无属性无主体 标签 mytaglib:SomeTag user=Jack 主体内容 /mytaglib:SomeTag mytaglib:SomeTag user=Jack/ mytaglib:SomeTag/ 描述 标签库描述文件(Tag Library Descriptor): 标签库描述文件是一个XML文件,这个文件提供了标签处理类和JSP中对标签引用的映射关系。 它是一个配置文件,以.tld结尾。 标签处理类(Tag Handle Class) 标签处理类是一个Java类,Java提供了创建自定义标签的接口类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能 。 1.开发标签实现(处理)类 2.编写标签库描述文件,以.tld结尾 3.在JSP页面上引入标签库 自定义标签开发步骤和流程: 1.创建一个处理类,继承自TagSupport类并创建doStartTag和doEndTag方法 JSP容器遇到自定义标签的起始标志,就会调用doStartTag()方法。 JSP容器遇到自定义标签的结束标志,就会调用doEndTag()方法。 package tagtest; import javax.servlet.jsp.tagext.TagSupport; public class MyTag extends TagSupport { public int doEndTag() { return 0; } public int doStartTag() { return 0; } } 标签处理类返回值说明 doStartTag() 和doEndTag()方法返回一个整数值,用来决定程序的后续流程: doStartTag:0忽略,1正常执行 doEndTag:5忽略,6正常执行 如果返回值不属于以上值,则按正常执行对待。 2.在WEB-INF下创建.tld标签库文件 ?xml version=1.0 encoding=utf-8? !DOCTYPE taglib PUBLIC -//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN /j2ee/dtds/web-jsptaglibrary_1_1.dtd 在文件头部添加如下代码: bodycontent中为tagdependent的时候,%%之间的内容将被忽略,${}将会当做字符直接被输出。 3.1.在页面引入自定义标签 3.2.使用自定义标签 效果 1.在标签处理类中添标签属性,并
您可能关注的文档
最近下载
- Anlogic安路科技+FPGA+EG4S20+用户手册.pdf
- 贵州大学电工学试卷A答案.pdf VIP
- 1626-2002-T 工业锅炉 产品型号编制方法.doc VIP
- Hisense海信电视HZ55U7E用户手册说明书.pdf
- 2026年社区护理专科慢性病管理工作计划.docx VIP
- 《地质灾害治理工程(试)运行效果监测规范》DB51T 3318-2025.docx VIP
- 四年级奥数练习 全国通用版 含答案.pdf VIP
- 2026年社区护理专科服务工作计划.docx VIP
- 九年级化学:常见碱的性质、用途及复习策略.docx
- 《广西资源县梅溪乡坪水底欧家冲饰面用花岗岩矿开采项目环境影响报告表.docx VIP
原创力文档

文档评论(0)