JSP自定义标签由浅到深详细讲解
日期:2007年10月18日 作者: 查看:[大字体 中字体 小字体]-
一、基本概念:
1.标签(Tag):
标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的
2.标签库(Tag library):
由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。
3.标签库描述文件(Tag Library Descriptor):
标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。
4.标签处理类(Tag Handle Class):
标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能
二、自定义JSP标签的格式:
1.
<% @ taglib prefix=”someprefix” uri=”/sometaglib” %>
为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件:
1)从一个指定的标签库中识别出代表这种自定义行为的标签
2)找到实现这些自定义行为的具体类
第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀(Taglib Directive's Prefix)属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀。
uri属性满足了以上的第二个要求。为每个自定义行为找到对应的类。这个uri包含了一个字符串,容器用它来定位TLD文件。在TLD文件中可以找到标签库中所有标签处理类的名称
2. 当web应用程序启动时,容器从WEB-INF文件夹的目录结构的META-INF搜索所有以.tld结尾的文件。也就是说它们会定位所有的TLD文件。对于每个TLD文件,容器会先获取标签库的URI,然后为每个TLD文件和对应的URI创建映射关系。
在JSP页面中,我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配
三、自定义JSP标签的处理过程:
1.在JSP中引入标签库:
<% @ taglib prefix=”taglibprefix” uri=”tagliburi” %>
2.在JSP中使用标签库标签
3.Web容器根据第二个步骤中的prefix,获得第一个步骤中声明的taglib的uri属性值
4.Web容器根据uri属性在web.xml找到对应的元素 5.从元素中获得对应的元素的值 6.Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件 7.从.tld文件中找到与tagname对应的元素 8.凑元素中获得对应的元素的值 9.Web容器根据元素的值创建相应的tag handle class的实例 10. Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理
四、创建和使用一个Tag Library的基本步骤:
1.创建标签的处理类(Tag Handler Class)
2.创建标签库描述文件(Tag Library Descrptor File)
3.在web.xml文件中配置元素 4.在JSP文件中引人标签库
五、TagSupport类简介:
1.处理标签的类必须扩展javax.servlet.jsp.TagSupport.
2.TagSupport类的主要属性:
A.parent属性:代表嵌套了当前标签的上层标签的处理类
B.pageContex属性:代表Web应用中的javax.servlet.jsp.PageContext对象
3.JSP容器在调用doStartTag或者doEndTag方法前,会先调用setPageContext和setParent方法,设置pageContext和parent。因此在标签处理类中可以直接访问pageContext变量
4.在TagSupport的构造方法中不能访问pageContext成员变量,因为此时JSP容器还没有调用
setPageContext方法对pageContext进行初始化
六、TagSupport处理标签的方法:
1.TagSupport类提供了两个处理标签的方法:
public int doStartTag() throws JspException
- [1] [2] [3] [4] 下一页
-
- JSP自定义标签由浅到深详细讲解 相关文章:
- ·基础知识讲解 病毒的IFEO映像劫持技术
- ·网络工程师讲解系统安全漏洞的形成和防治
- ·JSP自定义标签由浅到深详细讲解
- ·Photoshop基础教程 实例简单讲解剪贴蒙版
- ·详细讲解JavaScript脚本语言的 document 对象
- ·实例讲解如何对目标进行ARP欺骗
- ·详细讲解Linux操作系统的进程管理的功能
- ·Discuz!6.0自带的论坛开店设置讲解
- ·详细讲解PHP中缓存技术的应用
- ·详细讲解PHP的Jmai组件及发送邮件实例
- JSP自定义标签由浅到深详细讲解 相关软件
- ·工程硕士数学思路经典讲解
- ·2005年10月联考完型填空部分考点讲解
- ·MBA备考宝典——数学辅导知识讲解篇(e书)
- ·MBA备考宝典——管理学辅导知识讲解篇(e书)
- ·全陪的讲解词
- ·TL9000要求手册讲解课程 第01讲
- ·TL9000要求手册讲解课程 第02讲
- ·TL9000要求手册讲解课程 第03讲
- ·TL9000要求手册讲解课程 第04讲
- ·TL9000要求手册讲解课程 第05讲
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·目前最好的JSP分页技术
- ·JSP表达式语言
- ·Struts下JSP页面传递复选框值技巧
- ·JSP Struts之HTML标签库详解
- ·实例:JSP中把动态页面转换为静态页面
- ·JSP实现文件上传
- ·jsp 内嵌网页内容--iframe
- ·jsp 自定义分页标签
- ·jsp,html 清除页面缓存
- ·jsp搜索引擎
- ·在JSP中用bean封装常用的功能
- ·用 jsp:include 控制动态内容
- ·JSP和Servlet对中文的处理过程
- ·JSP自定义标签由浅到深详细讲解
- ·对于JSP中表单数据存储的一种通用方法
- ·加快JDBC中JSP数据库的访问速度
- ·JSP调用SQL server 2000存储过程
- ·用ASP将数据库中的数据直接导出到EXCEL表中
- ·使用技巧:JSP中如何发送一个动态图像
- ·解决JSP中使用request乱码问题
特别推荐
- ·新手入门:学习JSP的经典的入门学习资料
- ·由浅入深学习动态网页制作PHP的编程与应用
- ·输入汉字自动转为拼音(jsp实现方式)
- ·经验分享 JSP程序员完全蜕变手册
- ·JSP实战:JBuilder2005中创建数据库表
- ·新手入门:JSP基本语法与简单表单处理
- ·使用技巧:在JSP页面中的应用JavaBean
- ·实例:JSP中把动态页面转换为静态页面
- ·使JSP/Servlet应用程序优化的八种方法
- ·提升JSP页面响应速度的七大秘籍绝招
- ·jsp中文问题解决方案(完整版)
- ·jsp的八个隐含对象
- ·用jsp实现SQLServe数据库的备份和恢复
- ·深入浅析JSP安全编程实例
- ·jsp防盗链
- ·js技巧收集(200多个)
- ·JSP应用语法详解大全 (3)
- ·实例讲解:全程追踪入侵JSP网站服务器
- ·Apache服务器之JSP概述篇
- ·新手入门经典:Jsp环境配置
