论坛首页 Java企业应用论坛

雕虫小技

浏览 1660 次
锁定老帖子 主题:雕虫小技
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (19)
作者 正文
   发表时间:2008-02-20  
自定义标签


标签的形式:
空标签: < hello/>
带有属性的标签
<max num1=”13” num2=”32”/>
带有内容的标签
<greeting>
你好
</greeting>
带有内容和属性的标签
<greeting  name=”王利虎”>
你好
</greeting>
Tag接口:
Javax.servlet.jsp.tagext.Tag 接口定义了所有的传统标签处理器需要实现的基本方法。
1. public void setPageContext(PageContext pc)
该方法被jsp页面的实现对象调用,设置当前页面的上下文。
2. public void setParent(Tag t)
如果标签被嵌套,该方法被用来设置父标签
3. puglic Tag getParent()
如果标签被嵌套,该方法被用来获取父标签
4. public int doStartTag() throws JspException
当处理开始标签时,该方法被调用。
5. public int doEndTag() throws JspException
当处理结束标签时,该方法被调用
6.public void release()
当需要释放标签处理器对象时,该方法被调用。我们可以在该方法中释放标签处理器所使用的资源。
Tag接口中的常量
1.EVAL_BODY_INCLUDE
该常量作为doStratTag()方法的返回值,表示标前体要被执行,执行结果输出到当前的输出流中。
2.SKIP_BODY
该常量作为doStartTag()方法的返回值,表示忽略标签体。
3.EVAL_PAGE
该常量作为doEndTag()方法的返回值,表示JSP页面的余下部分将继续执行。
4.SKIP_PAGE
该常量作为doEndTag()方法的返回值,表示忽略JSP页面的余下部分。








(1) 当容器创建一个新的标签实例后,通过setPageContext来设置标签的页面上下文。
(2) 使用setParent()方法设置这个标签的上一级标签,如果没有上一级标签,设置为null。
(3) 设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法。
(4) 调用doStartTag方法,这个方法可以返回EVAL_BODY_INCLUDE和SKIP_BODY,当返回EVAL_BODY_INCLUDE时,就计算标签的Body,如果返回SKIP_BODY,就不计算标签的Body。
(5) 调用doEndTag方法,这个方法可以返回EVAL_PAGE或者SKIP_PAGE,当返回EVAL_PAGE时,容器将在标签结束时继续计算JSP页面其他的部分;如果返回SKIP_PAGE,容器将在标签结束时停止计算JSP页面其他部分。
(6) 调用release()方法释放标签程序占用的任何资源。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics