本篇文章介紹自定義標(biāo)簽,可能在工作中很少涉及到自己來(lái)定義一個(gè)標(biāo)簽庫(kù),因?yàn)槲覀兓旧隙际鞘褂玫拇笊駥?xiě)的標(biāo)簽庫(kù),基本上直接使用即可,但是從自身的發(fā)展來(lái)看,通往高級(jí)程序員的道路上,開(kāi)發(fā)框架就需要大量的使用到標(biāo)簽庫(kù)技術(shù)。本文將從以下幾個(gè)方面介紹自定義標(biāo)簽庫(kù)的基本知識(shí)點(diǎn):
背景以及作用
開(kāi)發(fā)簡(jiǎn)單的標(biāo)簽
開(kāi)發(fā)帶屬性的標(biāo)簽
開(kāi)發(fā)帶標(biāo)簽體的標(biāo)簽
以頁(yè)面片段為屬性的標(biāo)簽
具有動(dòng)態(tài)屬性的標(biāo)簽
一、標(biāo)簽庫(kù)有什么作用
自定義標(biāo)簽庫(kù)是一種優(yōu)秀的表現(xiàn)層技術(shù),之前介紹的MVC模式,我們使用jsp作為表現(xiàn)層,但是jsp語(yǔ)法嵌套在html頁(yè)面,美工還是很難直接參與開(kāi)發(fā),并且jsp腳本和html代碼耦合在一起,維護(hù)成本較高。我們能不能開(kāi)發(fā)一套和html風(fēng)格類似并且能完成jsp腳本功能的標(biāo)簽來(lái)解決這種低效的協(xié)作方式呢?于是標(biāo)簽庫(kù)就誕生了。
這是Java中標(biāo)簽規(guī)范的繼承體系,實(shí)現(xiàn)Tag接口的我們叫做傳統(tǒng)式標(biāo)簽庫(kù)開(kāi)發(fā),這種開(kāi)發(fā)模式略顯發(fā)復(fù)雜,基本已經(jīng)被SimpleTag式的簡(jiǎn)單式開(kāi)發(fā)標(biāo)簽庫(kù)給取代了。Java中提供了一個(gè)默認(rèn)的實(shí)現(xiàn)類SimpleTagSupport來(lái)實(shí)現(xiàn)自定義標(biāo)簽,我們只要繼承此類即可。
二、開(kāi)發(fā)一個(gè)最簡(jiǎn)單的標(biāo)簽庫(kù)
開(kāi)發(fā)一個(gè)自定義標(biāo)簽庫(kù)的過(guò)程如下:
開(kāi)發(fā)自定義標(biāo)簽處理類
創(chuàng)建*.tld文件,每個(gè)此文件對(duì)應(yīng)一個(gè)標(biāo)簽庫(kù),標(biāo)簽庫(kù)中可以由多個(gè)標(biāo)簽
在jsp頁(yè)面使用標(biāo)簽
首先我們先從自定義標(biāo)簽處理類開(kāi)始,正如上文所說(shuō),這個(gè)類只有繼承了SimpleTagSupport這個(gè)類可以省去省去重寫(xiě)SimpleTag接口中的一些方法。我們說(shuō)個(gè)doTag()這個(gè)方法很重要,這個(gè)方法類似于我么main方法一樣,當(dāng)jsp頁(yè)面加載到我們定義的標(biāo)簽的時(shí)候就會(huì)過(guò)來(lái)調(diào)用這個(gè)方法。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(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模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
