J2EE复习(六)JSP自定义标签
中国IT站 www.chinaitz.com 2009-4-15

  doStartTag()和doEndTag()方法的返回值说明:

  SKIP_BODY      表示不用处理标签体,直接调用doEndTag()方法。

  SKIP_PAGE      忽略标签后面的jsp(SUN企业级应用的首选)内容。

  EVAL_PAGE      处理标签后,继续处理jsp(SUN企业级应用的首选)后面的内容。

  EVAL_BODY_BUFFERED 表示需要处理标签体,且需要重新创建一个缓冲(调用setBodyContent方法)。

  EVAL_BODY_INCLUDE  表示在现有的输出流对象中处理标签体,但绕过setBodyContent()和doInitBody()方法

  EVAL_BODY_AGAIN     对标签体循环处理。(存在于javax.servlet.jsp.tagext.IterationTag接口中)

  实现javax.servlet.jsp.tagext.Tag接口

  扩展javax.servlet.jsp.tagext.TagSupport类

  TagSupport 类定义了 get/setParent() 和 setPageContext(),这与所有标签处理程序几乎相同。

  get/setParent() 方法允许标签嵌套。

  TagSupport 类还定义了一个可以被子类使用的 pageContext 实例变量 (protected PageContext pageContext),这个变量是由 setPageContext() 方法设置的。

  在创建自定义标签之前,需要创建一个 标签处理程序。标签处理程序是一个执行自定义标签操作的 Java 对象。在使用自定义标签时,要导入一个 标签库 —— 即一组标签/标签处理程序对。通过在 Web 部署描述符中声明库导入它,然后用指令 taglib 将它导入 JSP 页。

  如果 JSP 容器在转换时遇到了自定义标签,那么它就检查 标签库描述符(tag library descriptor) (TLD) 文件以查询相应的标签处理程序。TLD 文件对于自定义标签处理程序,就像 Web 部署描述符对于 servlet 一样。

共6篇上一页 1 2 3 4 5 6 下一页
责任编辑:admin本文仅代表作者观点,与中国IT站立场无关。
收藏】 【推荐】 【投稿】 【 】 【打印】 【关闭
评论加载中...