BodyTagSupport执行流程


摘自:http://z-jianwen.iteye.com/blog/1073301


1.当容器创建一个新的标签实例后,通过setPageContext来设置标签的页面上下文. 
2.使用setParent方法设置这个标签的上一级标签,如果没有上一级嵌套,设置为null. 
3.设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法. 
4.调用doStartTag方法,这个方法可以返回EVAL_BODY_INCLUDE和SKIP_BODY,当返回EVAL_BODY_INCLUDE时,就计算标签的body,如果返回SKIP_BODY,就不再计算标签的body. 
5.调用setBodyContent设置当前的BodyContent. 
6.调用doInitBody,如果计算BodyContent时需要进行一些初始化,就在这个方法中进行. 
7.每次计算完Body后调用doAfterBody,如果返回EVAL_BODY_TAG,表示继续计算一次Body,直到返回SKIP_BODY才继续往下执行. 
8.调用doEndTag方法,这个方法可以返回EVAL_PAGE或者SKIP_PAGE,当返回EVAL_PAGE时,容器将在标签结束时继续计算JSP页面其他的部分;如果返回SKIP_PAGE,容器将在标签结束时停止计算JSP页面其他的部分. 
9.调用release()方法释放标签程序占用的任何资源。 

你可能感兴趣的:(BodyTagSupport执行流程)