jsp標籤迴圈標籤體

2022-03-07 19:21:21 字數 921 閱讀 3295

引用:

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方法中編寫處理**。

JSP自定義標籤 帶標籤體(body)的標籤

開發帶標籤體的標籤,可實現bodytag介面,也可從bodytag介面的實現類bodytagsupport繼承,為簡化開發,推薦從bodytagsupport類繼承開發。編寫標籤對應的實現類時,需要過載bodytagsupport類幾個方法 dostarttag setbodycontent doi...

帶標籤體標籤

iterator lee.iteratortag scriptless collection true true item true true public class iteratortag extends tagsupport public string getcollection item屬性...

JSP標籤之動作標籤

注意 1.jsp 動作元素與jsp指令元素不同的是,jsp動作元素在請求處理階段起作用。2.jsp動作標籤與html標籤有本質區別 常用動作標籤 1.把請求轉到乙個新的頁面。它與requestdispatcher的forward方法的作用一樣,前者在jsp中使用,後者在servlet中使用。2.在頁...