教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Tag接口的静态常量和抽象方法

更新时间:2021年11月16日11时16分 来源:传智教育 浏览次数:

Tag接口是所有传统标签的父接口,它定义了4个int类型的静态常量和6个抽象方法,具体如表1和表2所示。

Tag接口的静态常量

静态常量

功能描述

EVAL_BODY_INCLUDE

doStartTag()方法的返回值,表示标签体会被执行

SKIP_BODY

doStartTag()方法的返回值,表示标签体不被执行

EVAL_PAGE

doEndTag()方法的返回值,表示标签后面余下的JSP页面继续执行

SKIP_PAGE

doEndTag()方法的返回值,表示标签后面余下的JSP页面不被执行

表1



Tag接口的抽象方法

方法声明

功能描述

void setPageContext(PageContext pc) JSP容器实例化标签处理器后,调用setPageContextO)方法将JSP页面的内置对象pageContext对象传递给标签处理器,标签处理器可以通过pageContext对象与JSP页面进行通信
void setParent(Tag t) 调用setPageContext()方法后,JSP容器会调用setParent()方法将当前标签的父标签处理器对象传递给当前标签处理器,如果当前标签没有父标签,则传递给setParent()方法的参数为null。
Tag getParent() 返回当前标签的父标签处理器对象,如果当前标签没有父标签则返回null
int doStartTag() 当JSP容器解析到自定义标签的开始标签时,会调用doStartTag()方法,该方法可以返回VAL_BODY_INCLUDE和SKIP_BODY两个常量,如果使用Tag的子接口odyTag,还可以使用BodyTag.EVAL_BODY_BUFFERED常量
int doEndTag() 当JSP容器解析到自定义标签的结束标签时,会调用doEndTag()方法,该方法可以返回EVAL_PAGE和SKIP_PAGE两个常量
void release() JSP容器在标签处理器对象被作为垃圾回收之前调用release()方法,以便释放标签处理器所占用的资源

表2


表1中的常量都是标签处理器方法的返回值,服务器根据方法的返回值来决定标签体和JSP页面是否执行。接下来,针对Tag接口中定义的方法进行讲解,如表2所示。

Tag接口定义了JSP页面与标签处理器之间的通信规则,当JSP容器将JSP页面翻译成Servlet源文件时,如果遇到JSP标签,会创建标签处理器类的实例对象,然后依次调用标签处理器的setPageContext()方法、setParent()方法、doStartTag()方法、doEndTag()方法和release()方法,因此,在实现Tag接口时,需要对这些抽象方法进行实现。



猜你喜欢

接口和抽象类有什么区别?

ApplicationContext接口实例

Java中怎样定义和声明接口?

传智教育Java培训高手班课程

0 分享到:
和我们在线交谈!