jsp自定义标记

上传人:xh****66 文档编号:60548261 上传时间:2018-11-17 格式:PPT 页数:23 大小:248KB
返回 下载 相关 举报
jsp自定义标记_第1页
第1页 / 共23页
jsp自定义标记_第2页
第2页 / 共23页
jsp自定义标记_第3页
第3页 / 共23页
jsp自定义标记_第4页
第4页 / 共23页
jsp自定义标记_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《jsp自定义标记》由会员分享,可在线阅读,更多相关《jsp自定义标记(23页珍藏版)》请在金锄头文库上搜索。

1、,MMC Computer Dept.,JSP自定义标记,本章重点,1 自定义标记基础 2 标记功能实现 3 标记库的部署,1 自定义标记基础,使用机制实现JSP网页的结构化设计,自定义标记的功能,基于class的代码重用。 自定义标记的代码形式 在形式上对应一个XML标记,标记名称任意,使用的不外乎子标记、属性等标记语言特征。 在功能上对应一个Java类,该类实现标记所对应的逻辑功能。,自定义标记的功能,自定义标记具有更好的封装和通用性,可以在不同JSP页面、不同项目中被重用。,自定义标记的开发步骤,1.设计标记 2.实现标记 3.部署标记 4.使用标记,实现标记,自定义标记通常需要从Tag

2、Support中继承。 doStartTag,标记开始解析时该方法执行。 doEndTag,标记解析结束时该方法执行。,TagSupport,helloTag,自定义标记的部署,在WEB-INF文件夹中创建tlds文件夹,然后在里面创建一个.tld文件,WebApp文件夹,自定义标记的部署,自定义标记需要通过tld文件进行部署 2.2.3 1.2 mmc /ff “mmcs Tags“ MMcs Tag Lib Helloworld com.mmc.tag.FirstTag JSP MMCs Logo ,自定义标记的使用,在JSP页面中中对自定义标记库的引用 ,自定义标记的使用,通过在JSP中

3、对自定义标记的调用实现自定义标记功能的执行 This is BITSs head Logo This is the BITSs foot Logo ,2 标记功能实现,使用Java类可以实现所有形式的XML文件 根标记、父标记、子标记、属性、标记体等 不同标记形式对应不同Java实现,有不同逻辑特征。 本节的主要内容 自定义标记处理过程 2.1 自定义 标记属性处理 2.2 自定义 标记内容处理 2.3 带子标记的自定义标处理,2.1 自定义标记处理过程,JSP自定义标记包括两部分:标记和标记对应的类 标记提供标记类被添加到JSP页面中的语法。 标记类是一个Java类,实现标记对应功能。 将自

4、定义标记添加到一个JSP页面中,就自动触发标记对应标记类,并将执行结果添加到JSP页面中,2.1 自定义标记处理过程,接口Tag界定了自定义标记类和JSP执行环境间的交互关系,刻画了自定义标记类应承担的责任。,jsp_context,tag_class,TAG,标记行为职责接口Tag,自定义标记类都需要实现Tag接口。JDK为了降低此种底层技术的繁琐,引进辅助类TagSupport,该类给出了Tag接口的默认实现。 int doEndTag() int doStartTag() Tag getParent() void release() void setPageContext(PageCon

5、text pc) void setParent(Tag t),几个常量介绍,从TagAttribute继承: EVAL_BODY_AGAIN:让服务器继续处理正文内容,只有doAfterBody方法可以返回 EVAL_BODY_INCLUDE:把Body读入存在的输出流中 EVAL_PAGE:继续处理页面 SKIP_BODY:忽略对Body的处理 SKIP_PAGE:忽略对余下页面的处理 EVAL_BODY_BUFFERED:主体被计算处理,2.2 自定义标记属性处理,自定义标记的属性类型 自定义标记实现类通过与标记属性同名的变量,并生成相应的getter和setter实现属性值的接收 标记

6、true就对应了JSP表达式类型; false对应非JSP表达式类型,2.3 自定义标记内容处理,自定义标记内容:开始标记和结束标记间的部分 通过继承BodyTag标记实现对标记体内容的支持。,自定义标记对标记体的支持,BodyContent bc= this.getBodyContent(),2.4 子标记处理,子标记类型的自定标记 bit service 在算法上,子标记类要将自己的体内容作为参数传递给父标记类 通常定义接口刻画父子标记间的协作关系,子标记获取父标记的方法,在子标记的doEndTag方法中,可以获得父类标记的引用,并通过双方之间的接口实现数据的传递 BodyContent

7、bc=this.getBodyContent(); MyContext myctx = (MyContext) TagSupport.findAncestorWithClass(this, MyContext.class); if (myctx = null) throw new JspTagException(“error with you tags“); myctx.setName(bc.getString(); return EVAL_PAGE;,练习,以下三个标记都给把某人的居住城市(Houston)显示出来,试编写代码的实现该功能,并进行部署。 Houston,本章重点,1 自定义标记基础 2 标记功能实现 3 标记库的部署 4 自定义标记和JSP页面的交互,

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

当前位置:首页 > 生活休闲 > 社会民生

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