JSP/Servlet/JSF:标签库的深入研究

BodyTag接口定义了一个新的整型常量 数据挖掘论坛

EVAL_BODY_TAG当doStartTag()返回时,使得新的BodyContent对象被创建并与此标签处理器相关联。当doAfterBody()返回时,使得JSPservlet在修改完此标签控制的任意变量后再次评估体。

数据挖掘论坛

BodyTag接口的方法

数据挖掘工具

publicvoidsetBodyContern(BodyContentout)在当前JspWriter已被写入,一个新的BodyContent在被创建后由Jspservlet调用,它发生在doStartTag()之后。

数据挖掘研究院

publicvoiddoInitBody()throwsJspExceptionsetBodyContent()之后,体被评估前调用的生命期方法。如果多次评估体,此方法只调用一次。 数据挖掘交友

publicinitdoAfterBody()throwsJspException体被评估后,BodyContent写入者仍处于激活状态时调用的生命期方法。此方法必须返回EVAL_BODY_TAG或SKIP_BODY,若返回EVAL_BODY_TAG时体再次被评估。

BodyTagSupport类的方法 数据挖掘研究院

publicintdoStartTag()throwsJspException复写TagSupport中的doStartTag()方法。 数据挖掘论坛

publicintdoEndTag()throwsJspException调用TagSupport中的doEndTag()方法,返回结果。

publicvoidsetBodyContent(BodyContentout)在一保护成员变量bodyContent中保存新的体内容对象,子类可直接访问此对象。 数据挖掘工具

publicvoiddoInitBody()throwsJspException缺省什么都不做。被需要执行初始化的子类所复写。

publicintdoAfterBody()throwsJspException每次体被评估后由JSPservlet调用,体同容对象仍处于激活状态。返回SKEP_BODY或EVAL_BODY_TAG则体再次被评估

publicvoidrelease()设置bodyContent对象为null,然后调用super.release()。 数据挖掘论坛

publicBodyContentgetBodyContent()返回bodyContent变量。子类已经可以访问保护变量,但此方法允许无关的标签处理类对此体内容发送输出。 数据挖掘研究院

publicJspWritergetPreviousOut()在bodyContent变量上调用getEnclosingWriter()并返回结果的简便方法。 数据挖掘论坛

5.体标签处理器的生命期 数据挖掘实验室

a.生成servlet需要创建标签处理器类的一个实例。实现方式通常是调用JSP容器的工厂类的一个方法,工厂类包含一个标签处理器实例池以使其可重用不再处于激活状态的对象。

数据挖掘论坛

b.初始化标签处理器,使servlet获知其存在性。servlet通过调用标签处理器的两个方法实现此过程:setPageContext(PageContextctx)和setParent(Tagparent)。 数据挖掘工具

c.如果标签具有属性,属性的取值通过处理器提供setter方法传入到对象。属性setter方法是一个标签支持属性所需的唯一方法。

d.页面的上下文和父标签已被调置,并已具备属性。调用标签处理器的doStartTag()方法,该方法可以读取这些变量并执行实现标答功能所需的计算和操作。

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中查找实际文件位置的唯一标识符。 数据挖掘论坛

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:JSP/Servlet/JSF:标签库的深入研究
下一篇:JSP/Servlet/JSF:标签库的深入研究
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • Java学生成绩管理系统源代码
  • Servlet动态产生JPEG图像的例子
  • JSP数据导出到EXCEL简便方法
  • JSP像乌云般挡住了JSF的光芒
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP不是简化的Java
  • 在JSP中如何实现MD5加密
  • JSP/Servlet/JSF:标签库的深入研究
  • jsp计数器制作手册
  • jsp页面显示数据导出到excel表中
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Java EE5.0时代来临,金蝶Apusic抢先撞线!
  • JSP像乌云般挡住了JSF的光芒
  • jsp计数器制作手册
  • 面向对象编程,我的思想(5)
  • jsp读取大对象CLOB并生成xml文件示例
  • JSP开发前菜鸟设置篇
  • JRun3.0配合IIS的安装全过程
  • win2000下jsp平台搭建的简单过程
  • IIS6和Tomcat5的整合
  • Windows下JSP开发环境的配置
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静