您所在的位置: 首页>>开发>>Web>>JSP>>

JSP/Servlet/JSF中对标签库的深入研究(3)

http://developer.51cto.com  2008-03-05 09:19  zxm0591  赛迪网  我要评论(0)
  • 摘要:标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。
  • 标签:JSP  Servlet  JSF  标签库  Java

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

e1.在栈中保存当前的JspWriter对象,创建新的BodyContent对象,并将其置为JSP页面的out对象保存在上下文范围内名为name的属性中。并调用它的setBodyContent()方法。
e2.调用doInitBody()方法进行初始化。
e3.处理标签体。将输出写入BodyContent对象中,此过程依赖于TLD的标签元素,有三种可能取值。
e4.调用doAfterBody()方法,将体内体内容写入JspWriter,可如下实现:

JspWriter out=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输出流中:

JspWriter out=pageContext.getOut();
out.println(bodyContent.getString());

或者

bodyContent.WriteOut(pageContext.getOut());

6、标签附加信息类

四、标签指令

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

语法:

属性:prefix:用于标识标签库的唯一标识。uri:标签库本身的URI。
uri不必指向一个实际文件,它是JSP容器可以在web.xml中查找实际文件位置的唯一标识符。

【相关文章】

【责任编辑:碧海蓝天 TEL:(010)68476606】


共3页: 上一页 [1] [2] 3
【内容导航】
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
Java编程开发手册
Java基础教程
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有