当前位置:主页>教程>网络编程>JSP技术>JSP/Servlet/JSF:标签库的深入研究

JSP/Servlet/JSF:标签库的深入研究
更新时间:2007-07-14 点击: 来源: javajia  

doStartTag()方法必须返回一个整型数。

返回EVAL_BODY_TAG则正常处理标签体(跳到e);

返回SKIP_BODY则从初始JSP页面中直到此标签结束标记处的内容均被忽略。(跳到f)

e.如果返回EVAL_BODY_TAG时,则正常处理标签体。

e1.在栈中保存当前的JspWriter对象,创建新的BodyContent对象,并将其置为JSP页面的out对象保存在上下文范围内名为name的属性中。并调用它的setBodyContent()方法。

e2.调用doInitBody()方法进行初始化。

e3.处理标签体。将输出写入BodyContent对象中,此过程依赖于TLD的标签元素 ,有三种可能取值。

e4.调用doAfterBody()方法,将体内体内容写入JspWriter,可如下实现:

JspWriterout=bodyContent.getEnclosingWriter();

out.println(bodyContent.getString());//bodyContent.writeOut(out);

bodyContent.clear();

e5.doAfterBody()方法返回两种可能:

返回EVAL_BODY_TAG时,再对标签体进行评估,这是数组和枚举被循环处理的典型情况。

返回SKIP_PAGE时,继续页面的其余部份。

e6.体内容完成,因此创建它的过程被反向:

调用pageContent.popBody()方法检索前面的JspWriter对象。

将写入者设置回out隐含对象。

f.标签体被评估或忽视后调用doEndTag()方法,允许标签处理器像输出流发回内容。

返回EVAL_PAGE则页面的其余部分被评估;

返回SKIP_PAGE则servlet代码立即从_jspService()中返回。

g.此时体的内容在受保护的bodyContent对象中仍然可用。

可以将它写入servlet输出流中:

JspWriterout=pageContext.getOut();

out.println(bodyContent.getString());

或者

bodyContent.WriteOut(pageContext.getOut());

6.标签附加信息类

四、标签指令

taglib指令元素的目的是指定TLD的位置,设置在页面上与标签区分开来的一个短别名。

语法:

属性:prefix:用于标识标签库的唯一标识。uri:标签库本身的URI。

uri不必指向一个实际文件,它是JSP容器可以在web.xml中查找实际文件位置的唯一标识符。




tags:

您可以: 点评它!(0条点评) 分享它!

ARTHD.COM网友点评共有0条点评,点击这里可查看):不能超过250字,请自觉遵守互联网相关政策法规。

广告位



合作伙伴

广告也精彩……

广告也精彩……