第19章 创建自定义标签库.pptVIP

  • 23
  • 0
  • 约 51页
  • 2016-04-05 发布于湖北
  • 举报
自定义标签几个重要的接口: EVAL_BODY_INCLUDED,执行标签体 SKIP_BODY,跳过标签体 EVAL_PAGE,表示继续执行结束标签后面的jsp代码 SKIP_PAGE,表示忽略结束标签后面的jsp代码 * 自定义标签几个重要的接口: 2).IterationTag接口,继承自Tag接口,常用的方法和常量: EVAL_BODY_AGAIN,表示再执行标签体一次 doAfterBody() * 自定义标签几个重要的接口: 3).BodyTag接口,继承自IterationTag接口,常用的方法和常量: EVAL_BODY_BUFFERED,把标签体放到缓冲区中,以便进一步处理 setBodyContent(), doInitBody()(初始化Body对象). * 编写“标记处理类” 在jsp的API中TagSupport 、BodyTagSupport等类已经实现上面的接口,所以我们在编写自定义标签时只需继承类,根据需求重写它们的一些方法就可以了. * 编写“标记处理类”-TagSupport 从TagSupport类继承只需实现以下两个方法: public int doStartTag() throws JspException public int doEndTag() throws JspException * 编写“标记处理类”-TagSupport doStartTag:JSP容器遇到自定义标签的起始标志,就会调用doStartTag()方法。   doStartTag()方法返回一个整数值,用来决定程序的后续流程。  A.Tag.SKIP_BODY:表示?…之间的内容被忽略   B.Tag.EVAL_BODY_INCLUDE:表示标签之间的内容被正常执行 * 编写“标记处理类”-TagSupport doEndTag:但JSP容器遇到自定义标签的结束标志,就会调用doEndTag()方法。doEndTag()方法也返回一个整数值,用来决定程序后续流程。   A. Tag.SKIP_PAGE:表示立刻停止执行网页,网页上未处理的静态内容和JSP程序均被忽略任何已有的输出内容立刻返回到客户的浏览器上。  B. Tag_EVAL_PAGE:表示按照正常的流程继续执行JSP网页 例子:Myfont.jsp * 编写“标记处理类”-BodyTagSupport 开发带Body的标记 从BodyTagSupport类继承,只需实现以下方法: doStartTag():自定义标记开始时调用 setBodyContent:设置体内容 doInitBody:对体内容进行初始化 doAfterBody:计算完BodyTag后调用 doEndTag():自定义标记结束时调用 例子:TagWithBody.jsp * 编写“标记处理类”-SimpleTagSupport SimpleTag接口 包含以下方法: setJspContext():设置标记的页面上下文 setParent():设置该标记的上一级标记,如果没有上一级嵌套,设置为null setJspBody:设置体内容 doTag():所有标记的逻辑、迭代和Body计算,都在这个方法中 * 编写“标记处理类”-SimpleTagSupport 从SimpleTagSupport类继承,只需实现以下方法: doTag() 例子:multiply.jsp * 使用Tag File Tag File 是自定义标签的简化用法,使用 Tag File 可以无须定义标签处理类和标签库文件,甚至无须在 web.xml 文件中定义标签库,但仍然可以在 JSP 页面中使用自定义标签。使用 Tag File 进一步简化了自定义标签的开发。 * 使用Tag File (1)建立 Tag 文件,在 Tag File 的自定义标签中,Tag File 代理了标签处理类,它的格式类似于 JSP 文件。可以这样理解:如使用 JSP 代替 Servlet 作为表现层一样,TagFile使用了更简单的 Tag File 代替了标签处理类。 * 使用Tag File Tag File 具有以下 5 个编译指令。 taglib: 作用与 JSP 文件中的 taglib 指令效果相同,用于导入其他标签库。 include: 作用与 JSP 文件中的 include 指令效果相同,用于导入其他 JSP,或静态页面。 tag: 作用类似于 JSP文件中的 page 指令,有 pageEncoding、 body-content等属性,用于设置页面编码等属性。 attribute: 用于设置自定义标签的属性,类似于自定义标签处理类中的标签属

文档评论(0)

1亿VIP精品文档

相关文档