本篇文章介紹自定義標(biāo)簽,可能在工作中很少涉及到自己來定義一個(gè)標(biāo)簽庫,因?yàn)槲覀兓旧隙际鞘褂玫拇笊駥懙臉?biāo)簽庫,基本上直接使用即可,但是從自身的發(fā)展來看,通往高級程序員的道路上,開發(fā)框架就需要大量的使用到標(biāo)簽庫技術(shù)。本文將從以下幾個(gè)方面介紹自定義標(biāo)簽庫的基本知識點(diǎn):
背景以及作用
開發(fā)簡單的標(biāo)簽
開發(fā)帶屬性的標(biāo)簽
開發(fā)帶標(biāo)簽體的標(biāo)簽
以頁面片段為屬性的標(biāo)簽
具有動態(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è)此文件對應(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í)候就會過來調(diào)用這個(gè)方法。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26