jsp標籤迴圈標籤體

來源:互聯網
上載者:User

引用:http://liuna718-163-com.iteye.com/blog/1318991

1.在IterationTag介面是Tag介面的子介面,裡面有個doAfterBody方法,該方法決定是否重複執列標籤體內容

2.web容器執行自訂標籤的過程如下
初始化時調用setPageContent()方法,完了在調用setParent方法
2.1web容器首先執行自訂標籤的開始標記,同時調用doStartTag方法。
2.2如果doStartTag方法返回EVAL_BODY_INCLUDE,web容器在執行完標籤體的內容後,會調用標籤類得doAfterBody方法;
如果doStartTag方法返回SKIP_BODY,doAfterBody方法不會調用,web容器會直接調用標籤類得doEndTag方法
2.3如果doAfterBody方法被調用,並且方法返回EVAL_BODY_AGIN,web容器會再次執列標籤體的內容;
如果doAfterBody方法返回SKIP_BODY,web容器會調用標籤類的doEndTag方法
2.4如果doEndTag方法返回EVAL_PAGE,web容器會執列標籤後面的內容;
如果doEndTag方法返回SKIP_PAGE,web容器會忽略自訂標籤後面的內容

3.實現BodyTag介面的BodyTagSupport類使用
在編寫代碼時需要注意一下幾點:
由於setPageContext方法、setParent方法、屬性的setter方法和doStartTag方法在setBodyContent方法之前調用,因此不能再這些方法中使用bodyContext對象,也就是說只能在setBodyContent方法後面被調用的方法中才能使用BodyContent對象,如doInitBody、doAfterBody和doEndBody方法.
如果要修改標籤體的內容,只能在標籤體執行完成後再處理,也就是說,只能在doAfterBody或doEndTag方法中編寫處理代碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.