JSP自定义标签执行顺序

 我来答
新科技17
2022-10-08 · TA获得超过5901个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:74.7万
展开全部

  首先来看一下简单标签接口的方法以及它的生命周期

   一 SimpleTag接口的方法

   doTag() void

   getParent() JspTag

   setJspBody(javax servlet jsp tagext JspFragment body) void

   setJspContext(javax servlet jsp JspContext pc) void

   setParent(javax servlet jsp tagext JspTag tag) void

   二 SimpleTag接口的声明周期

   每次遇到Jsp标签容器构造一个SimpleTag实例 这个构造函数没有参数

   setJspContext() setParent()只有当前的标签在另一个标签之内时才调用setParent()方法

   设置属性 调用每一个属性的setter方法

   setJspBody(javax servlet jsp tagext JspFragment body)

   doTag()所有标签的逻辑迭代和Body计算都在这个方法中

   return下面是对带体标签的介绍

   三 带Body的自定以标签

   必须实现Tag接口的doStartTag()和doEndTag()方法

   可以实现IterationTag接口的doAffterBody()方法

   可以实现BodyTag接口的doInitBody()和setBodyContent(javax servlet jsp tagext BodyContent bc)方法

   doStartTag()可以返回的值 A SKIP_BODY 不处理标签体B EVAL_BODY_INCLUDE 计算的体的结果被包含在out(JspWriter)中输出C EVAL_BODY_BUFFERED 一个BodyContent对象被创建

   doEndTag()方法可以返回SKIP_PAGE或者EVAL_PAGE以确定是否继续计算其余的页面

   doAffterBody可以返回EVAL_BODY_AGAIN SKIP_BODY以确定是否再次计算标签体

   四 BodyTag的处理过程

   setPageContext(javax servlet jsp PageContext pc) void

   setParent(javax servlet jsp tagext Tag tag) void

   doStartTag() int

   setBodyContext(BodyContext bc) void

   doInitBody() int

   doAffterBody() int

   doEndTag() int

lishixinzhi/Article/program/Java/JSP/201311/20747

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式