本篇文章介紹自定義標(biāo)簽,可能在工作中很少涉及到自己來定義一個(gè)標(biāo)簽庫,因?yàn)槲覀兓旧隙际鞘褂玫拇笊駥懙臉?biāo)簽庫,基本上直接使用即可,但是從自身的發(fā)展來看,通往高級(jí)程序員的道路上,開發(fā)框架就需要大量的使用到標(biāo)簽庫技術(shù)。本文將從以下幾個(gè)方面介紹自定義標(biāo)簽庫的基本知識(shí)點(diǎn):
背景以及作用
開發(fā)簡單的標(biāo)簽
開發(fā)帶屬性的標(biāo)簽
開發(fā)帶標(biāo)簽體的標(biāo)簽
以頁面片段為屬性的標(biāo)簽
具有動(dòng)態(tài)屬性的標(biāo)簽
一、標(biāo)簽庫有什么作用
自定義標(biāo)簽庫是一種優(yōu)秀的表現(xiàn)層技術(shù),之前介紹的MVC模式,我們使用jsp作為表現(xiàn)層,但是jsp語法嵌套在html頁面,美工還是很難直接參與開發(fā),并且jsp腳本和html代碼耦合在一起,維護(hù)成本較高。我們能不能開發(fā)一套和html風(fēng)格類似并且能完成jsp腳本功能的標(biāo)簽來解決這種低效的協(xié)作方式呢?于是標(biāo)簽庫就誕生了。
這是Java中標(biāo)簽規(guī)范的繼承體系,實(shí)現(xiàn)Tag接口的我們叫做傳統(tǒng)式標(biāo)簽庫開發(fā),這種開發(fā)模式略顯發(fā)復(fù)雜,基本已經(jīng)被SimpleTag式的簡單式開發(fā)標(biāo)簽庫給取代了。Java中提供了一個(gè)默認(rèn)的實(shí)現(xiàn)類SimpleTagSupport來實(shí)現(xiàn)自定義標(biāo)簽,我們只要繼承此類即可。
二、開發(fā)一個(gè)最簡單的標(biāo)簽庫
開發(fā)一個(gè)自定義標(biāo)簽庫的過程如下:
開發(fā)自定義標(biāo)簽處理類
創(chuàng)建*.tld文件,每個(gè)此文件對(duì)應(yīng)一個(gè)標(biāo)簽庫,標(biāo)簽庫中可以由多個(gè)標(biāo)簽
在jsp頁面使用標(biāo)簽
首先我們先從自定義標(biāo)簽處理類開始,正如上文所說,這個(gè)類只有繼承了SimpleTagSupport這個(gè)類可以省去省去重寫SimpleTag接口中的一些方法。我們說個(gè)doTag()這個(gè)方法很重要,這個(gè)方法類似于我么main方法一樣,當(dāng)jsp頁面加載到我們定義的標(biāo)簽的時(shí)候就會(huì)過來調(diào)用這個(gè)方法。
網(wǎng)友評(píng)論