1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JSP.06Tag

概述 自定义标签的开发 理解TLD文件 几种类型标签的开发 JSP标准标签库 概述 使用标签 代码重用 简化开发 标签 标准标签, 即动作标识action 自定义标签, Java类+描述文件, 即自定义动作custom action JSTL 自定义标签 标签扩展API javax.servlet.jsp.tagext 简单标签扩展API的层次结构 自定义标签 开发步骤 创建标签处理类 程序6.1 部署: .\WEB-INF\classes, jsp-api.jar到classpath路径 创建标签库描述文件TLD 程序6.2 部署: .\WEB-INF\ 使用自定义标签 taglib指令 %@ taglib prefix=prefixName uri=tag library uri % 程序6.3 自定义标签 SimpleTag接口 接口方法 public void setJspContext(JspContext pc): 该方法由容器调用, 用来设置JspContext对象, 使其在标签处理类中可用 public void setParent(JspTag parent): 该方法由容器调用, 用来设置父标签对象 public void setJspBody(JspFragment jspBody): 若标签带标签体, 容器调用该方法将标签体内容存放到JspFragment中 public JspTag getParent(): 返回当前标签的父标签 public void doTag() throws JspException, IOException:该方法是简单标签的核心方法, 由容器调用完成简单标签的操作 自定义标签 生命周期 当容器在JSP页面中遇到自定义标签时, 它将加载标签处理类并创建一个实例, 然后调用标签类的生命周期方法 (1). 调用setJspContext(), 容器为该方法传递一个JspContext类的实例 (2). 调用setParent() (3). 调用属性的修改方法 (4). 调用setJspBody() (5). 调用doTag() 自定义标签 SimpleTagSupport类 SimpleTagSupport类是SimpleTag接口的实现类, 它除实现了SimpleTag接口中的方法外, 还提供了另外三个方法 protected JspContext getJspContext(): 返回标签中要处理的JspContext对象 protected JspFragment getJspBody(): 返回JspFragment对象, 它存放了标签体的内容 public static final JspTag findAncestorWithClass(JspTag from, Class klass): 根据给定的实例和类型查找最接近的实例; 该方法主要用在开发协作标签中 编写简单标签处理类通常不必实现SimpleTag接口, 而是继承SimpleTagSupport类, 并且仅需覆盖该类的doTag() 理解TLD文件 自定义标签需要在TLD文件中声明, 当在JSP页面中使用自定义标签时, 容器将读取TLD文件, 从中获取有关自定义标签的信息 TLD文件的第一行是声明,它的根元素是taglib,该元素定义了一些子元素 文档类型定义DTD 理解TLD文件 uri元素指定在JSP页面中使用taglib指令时uri属性的值 如: uri/sample/uri 在JSP页面中taglib指令应该如下 %@ taglib prefix=demo uri=/sample % uri元素值看上去像一个Web资源的URI,但实际上它仅仅是一个逻辑名称, 并不与任何Web资源对应, 容器使用它仅完成URI与TLD文件的映射 绝对URI, 如http://localhost:8080/taglibs 根相对URI, 如/mytaglib 非根相对URI, 如myproject/helloTag 可以没有uri元素, 则以TLD文件路径代替 %@ taglib prefix=demo uri=/WEB-INF/mytaglib.tld % 理解TLD文件 uri元素 在部署一个Web应用时, 容器会自动建立一个URI与TLD之间的映射 只要把TLD文件放在容器会查找的位置上, 容器就会找到这个TLD, 并为标签库建立一个映射 容器自动查找TLD文件的位置包括 在/WEB-INF目录或其子目录中查找 在/WEB-INF/lib目录下的JAR文件中的META-INF目录或其子目录中查找 理解TLD文件 uri元素 部署描述文件(web.xml)中为URI指定其TLD文件的

文档评论(0)

saa9099 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档