熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JSP自定義標簽執行順序

2013-11-15 12:20:07  來源: JSP教程 

  首先來看一下簡單標簽接口的方法以及它的生命周期

  SimpleTag接口的方法

  doTag()void

  getParent()JspTag

  setJspBody(javaxservletjsptagextJspFragment body)void

  setJspContext(javaxservletjspJspContext pc)void

  setParent(javaxservletjsptagextJspTag tag)void

  SimpleTag接口的聲明周期

  每次遇到Jsp標簽容器構造一個SimpleTag實例這個構造函數沒有參數

  setJspContext()setParent()只有當前的標簽在另一個標簽之內時才調用setParent()方法

  設置屬性調用每一個屬性的setter方法

  setJspBody(javaxservletjsptagextJspFragment body)

  doTag()所有標簽的邏輯迭代和Body計算都在這個方法中

  return下面是對帶體標簽的介紹

  帶Body的自定以標簽

  必須實現Tag接口的doStartTag()和doEndTag()方法

  可以實現IterationTag接口的doAffterBody()方法

  可以實現BodyTag接口的doInitBody()和setBodyContent(javaxservletjsptagextBodyContent bc)方法

  doStartTag()可以返回的值ASKIP_BODY 不處理標簽體BEVAL_BODY_INCLUDE 計算的體的結果被包含在out(JspWriter)中輸出CEVAL_BODY_BUFFERED 一個BodyContent對象被創建

  doEndTag()方法可以返回SKIP_PAGE或者EVAL_PAGE以確定是否繼續計算其余的頁面

  doAffterBody可以返回EVAL_BODY_AGAINSKIP_BODY以確定是否再次計算標簽體

  BodyTag的處理過程

  setPageContext(javaxservletjspPageContext pc)void

  setParent(javaxservletjsptagextTag tag)void

  doStartTag()int

  setBodyContext(BodyContext bc)void

  doInitBody()int

  doAffterBody()int

  doEndTag()int

  release()void


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20747.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.