更新時(shí)間:2023-02-03 來源:黑馬程序員 瀏覽量:
在JSP開發(fā)中,為了處理某些邏輯功能,難免會在JSP頁面書寫大量的Java代碼,從而導(dǎo)致JSP頁面難以維護(hù),可重用性較低。為此,JSP從版本1.1開始,支持用戶開發(fā)自己的標(biāo)簽,即自定義標(biāo)簽。
自定義標(biāo)簽可以有效地將HTML代碼與Java代碼分離,從而使不懂Java編程的HTML設(shè)計(jì)人員也可以編寫出功能強(qiáng)大的JSP頁面。JSP規(guī)范中定義了多個(gè)用于開發(fā)自定義標(biāo)簽的接口和類,它們都位于javax.servlet.jsp.tagext中,這些接口和類的繼承關(guān)系如圖9-1所示。
圖9-1 自定義標(biāo)簽接口和類的繼承關(guān)系
從圖9-1中可以看出,所有的標(biāo)簽處理器類都需要實(shí)現(xiàn)javax.servlet.jsp.tagext.JspTag接口,這個(gè)接口是在JSP2.0中新增的一個(gè)標(biāo)識接口,它沒有任何方法,主要是作為javax.servlet.jsp.tagext.Tag和javax.servlet.jsp.tagext.SimpleTag的共同基類。在JSP2.0之前,所有的標(biāo)簽類都需要實(shí)現(xiàn)Tag接口,這樣的標(biāo)簽稱為傳統(tǒng)標(biāo)簽。后來為了簡化標(biāo)簽的開發(fā),JSP2.0規(guī)范又定義了一種新類型的標(biāo)簽,稱為簡單標(biāo)簽,簡單標(biāo)簽的處理器類需要實(shí)現(xiàn)SimpleTag接口。關(guān)于傳統(tǒng)標(biāo)簽和簡單標(biāo)簽的相關(guān)知識,將在后面繼續(xù)進(jìn)行講解。