staticint EVAL_BODY_INCLUDE
通过输出流输出标签体中的内容。
staticint EVAL_PAGE
继续执行页面其余部分内容。
staticint SKIP_BODY
忽略标签体内容。
staticint SKIP_PAGE
忽略页面内容。
intdoEndTag()
执行实例对象的结束标签。
int doStartTag()
执行实例对象的开始标签。
Tag getParent()
为标签处理类获取自定义标签的父标签。
void release()
调用标签处理类去等待释放当前存在的状态。
void setPageContext(PageContext pc)
设置当前页面的内容。
void setParent(Tag t)
设置标签处理类的父标签。.
JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法。
1、public void setPageContext(PageContext pc), JSP引擎实例化标签处理器后,将调用setPageContext方法将JSP页面的pageContext对象传递给标签处理器,标签处理器以后可以通过这个pageContext对象与JSP页面进行通信。
2、public void setParent(Tag t),setPageContext方法执行完后,WEB容器接着调用的setParent方法将当前标签的父标签传递给当前标签处理器,如果当前标签没有父标签,则传递给setParent方法的参数值为null。
3、public int doStartTag(),调用了setPageContext方法和setParent方法之后,WEB容器执行到自定义标签的开始标记时,就会调用标签处理器的doStartTag方法。
4、public int doEndTag(),WEB容器执行完自定义标签的标签体后,就会接着去执行自定义标签的结束标记,此时,WEB容器会去调用标签处理器的doEndTag方法。
5、public void release(),通常WEB容器执行完自定义标签后,标签处理器会驻留在内存中,为其它请求服务器,直至停止web应用时,web容器才会调用release方法。
BodyTag接口继承了Iteration接口,除了保有从它的父接口中继承来的字段和方法外还有自己独有的字段和方法。
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE,EVAL_PAGE,SKIP_BODY,SKIP_PAGE
doAfterBody
doEndTag,doStartTag,getParent,release,setPageContext,setParent
EVAL_BODY_AGAIN
从Tag接口中继承的字段:
EVAL_BODY_INCLUDE,EVAL_PAGE,SKIP_BODY,SKIP_PAGE
从Object中继承的方法:
clone, equals, finalize, getClass,hashCode, notify, notifyAll, toString, wait, wait, wait
五、
TagSurpport类中主要的方法与字段用BodyTagSupport类主要方法详解:
BodyTagSupport类中增加了两个方法:
setBodyContent(BodyContent bc):
容器在执行这个标签处理类的实例时,将调用该方法,把标签主体返回的内容缓存在BodyContent类的实例中。BodyContent除了从父类JspWriter继承提供用于向响应体中写入文本的方法,还提供了用于获取它缓冲的标签体内容。
doInitBody():
计算标签主体之前调用该方法进行初始化共,可以向bodyContent对象中写入初始内容,这些内容会放置在标签主体内容之前。
BodyContent类专门用于缓存标签主体返回的内容,包括静态文本以及由嵌套标签或脚本元素所创建的动态内容。
从TagSupport类中继承的字段:
id,pageContext
从BodyTag类中继承的字段:
EVAL_BODY_BUFFERED,EVAL_BODY_TAG
从BodyTag接口中继承的字段:
EVAL_BODY_AGAIN
从Tag接口中继承的字段:
EVAL_BODY_INCLUDE,EVAL_PAGE,SKIP_BODY,SKIP_PAGE
从TagSupport类中继承的方法:
findAncestorWithClass,getId,getParent,getValue,getValues,removeValue,setId,setPageContext,setParent,setValue
从Object类中继承的方法:
clone,equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait,wait
从Tag接口中继承的方法:
getParent,setPageContext,setParent
好了,上面就是关于
开发传统标签接口与实现类相关方法的描述了有不精确的地方请见谅!